对于某些网址,我的htaccess无法正常工作。我只想重写文件的扩展名,如php到html。但它不起作用。当我输入类似" http://www.example.com/myfile.php"的网址时和" http://www.example.com/myfile.html"两个网址都在工作。但我只是想将myfile.php重写为myfile.html。
我的htaccess重写规则是: -
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
Options -Indexes
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^index\.php$ "http\:\/\/example\.com\/" [R=301,L]
Header unset Pragma
FileETag None
Header unset Last-Modified
Header unset ETag
RewriteRule ^myfile.html$ myfile.php [QSA,L]
ServerSignature Off
答案 0 :(得分:0)
将此添加到.htaccess文件中。
RewriteCond %{THE_REQUEST} \ /+myfile\.php(\s|\?) [NC]
RewriteRule ^ /myfile.html [R=301,L]
RewriteRule ^myfile\.html$ /myfile.php [NC,L]
如果用户尝试直接访问myfile.html
,则第一条规则会重定向到myfile.php
。