I would like to hide php extension in url and in the responses of my Apache
I tried it with the following tipycal configuration:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L,QSA]
DirectoryIndex index.php index.html
DocumentRoot /var/www/mysite
<Directory /var/www/mysite>
Options -Indexes -MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
...
but I do not understand why Apache adds a set of headers that I think are unnecessary. for example about this url:
http://mysite/page
Edit: disabling Content Negotiation with -MultiViews cause:
# tailf /var/log/apache2/error.log
[Sun Jan 19 16:35:23 2014] [error] [client 127.0.0.1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
[Sun Jan 19 16:35:23 2014] [debug] core.c(3063): [client 127.0.0.1] r->uri = /var/www/index.php
[Sun Jan 19 16:35:23 2014] [debug] core.c(3069): [client 127.0.0.1] redirected from r->uri = /var/www/index.php
...
[Sun Jan 19 16:35:23 2014] [debug] core.c(3069): [client 127.0.0.1] redirected from r->uri = /var/www/index.php
[Sun Jan 19 16:35:23 2014] [debug] core.c(3069): [client 127.0.0.1] redirected from r->uri = /page
[Sun Jan 19 16:35:23 2014] [debug] mod_deflate.c(615): [client 127.0.0.1] Zlib: Compressed 533 to 322 : URL /var/www/index.php
# tailf /var/log/apache2/rewrite.log
127.0.0.1 - - [19/Jan/2014:18:42:06 +0100] [mysite/sid#7fa89ea62d58][rid#7fa89ed69340/initial] (1) pass through /page
127.0.0.1 - - [19/Jan/2014:18:42:06 +0100] [mysite/sid#7fa89ea62d58][rid#7fa89ed69340/initial] (1) [perdir /var/www/] internal redirect with /var/www/index.php [INTERNAL REDIRECT]
127.0.0.1 - - [19/Jan/2014:18:42:06 +0100] [mysite/sid#7fa89ea62d58][rid#7fa89ed75738/initial/redir#1] (1) pass through /var/www/index.php
127.0.0.1 - - [19/Jan/2014:18:42:06 +0100] [mysite/sid#7fa89ea62d58][rid#7fa89ed75738/initial/redir#1] (1) [perdir /var/www/] internal redirect with /var/www/index.php [INTERNAL REDIRECT]
127.0.0.1 - - [19/Jan/2014:18:42:06 +0100] [mysite/sid#7fa89ea62d58][rid#7fa89ed77ad0/initial/redir#2] (1) pass through /var/www/index.php
...