unable to remove .php from file extension with .htaccess

July 9, 2016 3.4k views
Ubuntu Apache

I have the following in my .htaccess file. Redirecting the www. works perfectly, as does the custom 404 message. The removal of .php from the file extension fails to work. domain.com/file returns the 404 message, with domain.com/file.php working fine.

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^\.]+)/$ $1.php

ErrorDocument 404 /404.php

Also if it helps this is in my 000-default.conf filed

        <Directory /var/www>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
1 Answer

Turns out it was multiviews that was causing the problem. After I checked the error logs and searched on the error message I was receiving I found the following article.


Have another answer? Share your knowledge.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!