2015-02-09 52 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的文件

然后