RewriteRule php到html扩展名

时间:2015-02-09 05:06:36

标签: .htaccess

如何编写RewriteRule来访问php文件作为html扩展名,标记文件位于名为domain.com/markfolder/mark.php的文件夹中

我在根目录

中得到了关注
 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]

以上三种尝试简单不起作用。

1 个答案:

答案 0 :(得分:0)

首先,根目录中的htaccess文件导致了问题。它将.html重定向到.php并且是mod_alias的一部分,而不是mod_rewrite。这意味着请求将由RedirectMatch以及任何重写规则处理。所以首先将你的root htaccess更改为:

Options +FollowSymlinks

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

不确定为什么要永久重定向,因为这会影响所有请求甚至子目录中的请求。看起来它不是你想要的,只会打破你重写的任何尝试。

然后在markfolder的htaccess文件中:

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