.htaccess mod_rewrite将文件转换为php并且不显示filetype

时间:2010-10-27 18:46:01

标签: .htaccess mod-rewrite

给出一组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

2 个答案:

答案 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]