制作rewriterule删除.php扩展名?

时间:2009-04-23 13:34:10

标签: .htaccess mod-rewrite

我已经想出了一个重写文件,可以在不输入.php扩展名的情况下访问我网站上的任何页面,因为它会自动添加到网址中。

规则是:RewriteRule ^(\ w +)/?$ /$1.php

它会在我的索引中输入任何内容并将.php添加到其中,因此您可以输入http://sampardee.com/index并将其拉出index.php

现在我的问题是如何检测用户何时输入http://sampardee.com/index.php并将其更改为http://sampardee.com/index

我怎么能用重写器做到这一点?

1 个答案:

答案 0 :(得分:2)

您需要强制重定向用户,而不匹配内部重定向:

RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteRule ^(\w+)\.php$ /$1 [R=301]

RewriteRule ^(\w+)/?$ /$1.php

这会将用户301 Moved Permanently重定向重定向到修改后的网址。