Richard Lynch wrote:
James Guarriman wrote:
RewriteEngine on RewriteOptions MaxRedirects=15 RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /$1.php </Directory> </VirtualHost>
...
I know its due to the way my Apache is setup (not rewrite rules) but the following always works for me:
http://www.somedomain.com/doit
runs
http://www.somedomain.com/doit.php
--
apache just does its magic - I believe its to do with the DocumentIndex apache conf setting
(i.e. Apache makes use of the extensions found there) - please someone correct me if I'm wrong.
Your conditions are as follows: 1. reqeusted filename is not a directory: RewriteCond %{REQUEST_FILENAME} !-d
2. reqeusted filename is not a file: RewriteCond %{REQUEST_FILENAME} !-f
If all above matches, put ".php" at the end: RewriteRule ^(.*)$ /$1.php
So it has nothing to do with DocumentIndex. All that is necessary is to request a file that does not exist on the server even if you add ".php" at the end:
/foo - neither file or directory, rewrite to /foo.php /foo.php - neither file or directory, rewrite to /foo.php.php /foo.php.php - neither file or directory, rewrite to /foo.php.php.php ...etc.
The problem is ^(.*)$ matches everything. Try ^([^.]*)$ - no dot in url
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php