2015-02-11 79 views
0

對於某些URL,我的htaccess無法正常工作。我只是想重寫文件的擴展名,如PHP到HTML。但它不起作用。當我輸入URL如「http://www.example.com/myfile.php」和「http://www.example.com/myfile.html」時,兩個網址都可以使用。但我只是想將myfile.php重寫爲myfile.html。在htaccess中重寫某些url不起作用

我的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

添加到您的.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