Apache mod_rewrite - 偏好具有漂亮URL的目录上的文件

时间:2010-04-17 20:04:51

标签: apache .htaccess mod-rewrite url-rewriting

我想拥有漂亮的网址,因此http://www.domain.com/foo会返回http://www.domain.com/foo.php

问题是存在一个具有相同名称的目录。我在http://www.domain.com/foo/bar/baz有另一个页面,现在我的服务器只在我请求http://www.domain.com/foo时返回foo的目录列表

伪代码:
如果请求加“.php”是文件
重写文件而不是目录

实际代码:

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

2 个答案:

答案 0 :(得分:0)

MultiViews可能会导致此行为。尝试禁用它。

答案 1 :(得分:0)

您需要使用整个路径:

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

REQUEST_FILENAME 只是 DocumenRoot

内的完整路径