给出一组URL如下:
http://site.com/filename.html
http://site.com/filename.htm
http://site.com/filename.php
http://site.com/filename
使用.htaccess中的mod_rewrite模块,如何让它在
处请求文件http://site.com/filename.php
并显示网址
http://site.com/filename
答案 0 :(得分:1)
这应该满足您的要求:
RewriteRule ^([^\.]+)$ /$1.php [L]
击> <击> 撞击>
编辑:在你的评论和问题的变化之后 - 试试这个:
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^(.+)\. /$1 [R,L]
RewriteRule ^([^\.]+)$ $1.php [L]
答案 1 :(得分:1)
请尝试以下规则:
# remove file name extension and redirect externally
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /[^?\ ]+\.(html?|php)
RewriteRule ^([^.]+)\.(html?|php)$ /$1 [L,R=301]
# rewrite to PHP file internally
RewriteRule ^[^.]+$ $0.php [L]