2016-12-30 48 views
0

我想重定向每个页面(也是从子目录)重定向到.php文件。将.html文件重定向到.php

像abc.html到abc.php如果abc.php不存在,它应该显示404

这是我的htaccess代码。

RewriteEngine on 
RewriteCond %{THE_REQUEST} \ /(.+)\.html 
RewriteRule^/%1.php [L,R=301] 
RewriteRule ^(.*).php$ $1.html [QSA] 

它只将一些页面重定向到PHP,它也重定向到一些PHP文件,这是不存在的文件夹里面。

如何解决?

回答

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

它也是这样,在地址栏中显示一个带有.php扩展名的url,并打开html文件的内容,但实际上并不显示.php文件内容。 –

+0

如果您希望将其作为重定向来完成,而不仅仅是重写,请将[L]修改为[L,R] – 2016-12-30 07:26:12

6

您可以尝试两种方法中的任意一种。

方法1:使用的.htaccess

RewriteEngine On 

RewriteRule ^(.*)\.html$ $1.php [L,R] 

方法2:将以下内容添加HTML文件

<META HTTP-EQUIV="Refresh" 
CONTENT="0; URL="http://www.yoursite.com/redirect_location"> 

这里有通过增加内容可变延迟重定向的选项。例如,CONTENT = 5会将重定向延迟5秒。