2015-02-09 50 views
0

如何編寫重寫規則來訪問PHP文件爲HTML擴展,標記文件位於稱爲domain.com/markfolder/mark.php重寫規則PHP到HTML擴展

文件夾內,我在根目錄下

得到以下
Options +FollowSymlinks 

RewriteEngine On 
RewriteBase/
RedirectMatch 301 (.*)\.html$ $1.php 

及以下文件我嘗試內部domain.com/markfolder/.htaccess定位

嘗試1

RewriteEngine on 
RewriteRule ^mark\.php$ mark.html [NC,R] 

嘗試2

RewriteEngine on 
RewriteRule ^(.*)\.html $1\.php 

嘗試3

Options +FollowSymlinks 
RewriteEngine On 
RewriteRule ^(.+)\.html$ $1.php [NC,L] 

上述三個儘量簡單不起作用。

回答

0

首先,您的根目錄中的htaccess文件導致了問題。它將.html重定向到.php,並且是mod_alias的一部分,而不是mod_rewrite。這意味着請求將被RedirectMatch以及任何重寫規則處理。因此,首先改變你的根目錄的htaccess到:

Options +FollowSymlinks 

RewriteEngine On 
RewriteBase/
RewriteRule ^(.*)\.html$ $1.php [L,R=301] 

不知道爲什麼要永久重定向,因爲這會影響到所有的請求,即使在子目錄請求。這似乎不是你想要的,只會打破你重寫的任何企圖。

RewriteEngine On 
RewriteRule ^(.*)\.html$ $1.php [L] 

在你markfolder htaccess的文件

然後