HTAccess重定向和删除文件+扩展名

时间:2012-10-08 22:05:34

标签: php html .htaccess url redirect

如果用户输入

www.example.com/Front

OR

www.example.com/Front.php

我想重定向到

www.example.com

这是我的htaccess:

RewriteEngine on

DirectoryIndex Front.php

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+)/([^\.]+)\.php\ HTTP/
RewriteRule ^([a-zA-Z0-9_-]+)/([^.]+)\.php$ http://www.example.com/$1/$2 [R=301,L]

但由于某些原因,当我输入www.example.com/Front.php页面加载但网址没有更改时,它会保持为/Front.php。我需要添加/更改以使其正确重定向?感谢

1 个答案:

答案 0 :(得分:0)

您的RewriteRule与您的网址不符。所以在这里重写没有任何反应。

您的网址为Front.php(开头没有斜线,因为您位于.htaccess文件中)。正则表达式是^([a-zA-Z0-9_-]+)/([^.]+)\.php$ - 这不匹配,因为除了其他内容之外,您的网址中没有斜杠。

不会在RewriteRule中触发正则表达式导致包含所有前面的RewriteCond的完整规则被忽略。

如果您的.htacces没有更多规则,那么就是这样。

你应该启用RewriteLog来查看最新情况。