开发者

Apache mod_rewrite - prefer files over directories with pretty URLs

开发者 https://www.devze.com 2022-12-27 01:12 出处:网络
I want to have pretty urls so http://www.domain.com/foo will return http://www.domain.com/foo.php The issue is that there is a directory that has the same name. I have another page at http://www.doma

I want to have pretty urls so http://www.domain.com/foo will return http://www.domain.com/foo.php

The issue is that there is a directory that has the same name. I have another page at http://www.domain.com/foo/bar/baz and right now my server just returns the directory listing of foo when I request http://www.domain.com/foo开发者_JS百科

Pseudocode:

If the request plus ".php" is a file

rewrite out the file instead of the directory

Actual Code:

RewriteEngine On  
RewriteBase /  
RewriteCond %{SCRIPT_FILENAME}\.php -f  
RewriteRule (.*) $1.php [NC,L]


MultiViews could cause this behavior. Try to disable it.


You need to use the whole path:

RewriteCond "%{DOCUMENT_ROOT}%{REQUEST_FILENAME}.php" -f  

REQUEST_FILENAME is just the full path inside DocumenRoot

0

精彩评论

暂无评论...
验证码 换一张
取 消