我想拥有漂亮的网址,因此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]
答案 0 :(得分:0)
MultiViews
可能会导致此行为。尝试禁用它。
答案 1 :(得分:0)
您需要使用整个路径:
RewriteCond "%{DOCUMENT_ROOT}%{REQUEST_FILENAME}.php" -f
REQUEST_FILENAME 只是 DocumenRoot
内的完整路径