.htaccess not working

This is how my .htaccess looks:

<IfModule mod_rewrite.c>

  RewriteEngine On
  Redirect /setup http://www.example.com/
  RewriteBase /invoice
  RewriteRule ^index\.php$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.php [L]
  
  ## Remove the hash in front of the following two lines if you want to force HTTPS
  #RewriteCond %{HTTPS} off
  #RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
  
</IfModule>

However whenever I try to go to http://www.example.com/invoice, I am taken to the 404 page of my site.
What’s the problem?

Thanks!

Presuming you are using apache xx.

Whats your apache conf look like?

If the .htaccess is not working correctly you may disable it. It’s not required for InvoicePlane to work.

I did ut, but I feel someone with malintent may rerun the setup and screw my database. Any way to fix that? Maybe to add/remove some functions somewhere?

I will add a proper way to disable the setup for version 1.5.1.
In the meantime, open the file application/modules/setup/controllers/Setup.php and replace at line 25

parent::__construct();

with

show_error('Setup is disabled.', 403);
parent::__construct();