.htaccess rewrite rules doesn't work

Posted October 27, 2014 13.1k views

I’ve tried to follow this guide to enable the .htaccess on my server (so my .htaccess is working), but without luck.

Does anyone know where the problem can be?

Here is my htaccess file, it works on my localhost etc.

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
  • what are you trying to achieve with your .htaccess configuration ?

  • URLs that are beautiful.

    For instance “index.php/hello/world” would become “hello/world” - so the index.php is removed.

    This is working without problems on my localhost as mentioned, so I think it’s some kind of server setup that is giving problems

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
3 answers

To remove the .php using .htaccess file, your .htaccess doc should look like this:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

In case you want to remove a .html extension and not a .php replace the last line with this:

RewriteRule ^([^\.]+)$ $1.html [NC,L]

Finally for beginners, you can create .htaccess files from
Using their web interface

Hope this helps ;)


It does not work for me even if set AllowOverride All.
What else can be a problem?