我想更新一个网站上的所有页面,使用包含作为页脚和页眉。所以我必须把很多.html页面改为. php。因此,我正在寻找一种方法来重定向所有以.html结尾的页面到同一个URL,但以. php结尾。
zpgglvta1#
您可以采用一种更简单的方法,通过在.htaccess中添加以下行,将所有html文件作为php文件处理。
AddHandler application/x-httpd-php .php .html
gfttwv5a2#
mod_rewrite来救援!
RewriteEngine On RewriteRule ^(.+)\.html$ $1.php
vpfxa7rd3#
在apache httpd.conf文件中,可以添加
AddType application/x-httpd-php .html
使.html文件在提供给用户之前通过php解析器。你也可以把这个指令添加到你的.htaccess文件中。第二个方法可能不起作用,这取决于你的主机是如何设置的。
rxztt3cl4#
如果你想要一个实际的HTTP 301 Moved Permanently重定向
HTTP 301 Moved Permanently
RewriteEngine on RedirectMatch 301 ^(.*)\.html$ $1.php
或
RewriteEngine on RewriteCond %{THE_REQUEST} \ /(.+)\.php RewriteRule ^ /%1.html [L,R=301]
huus2vyu5#
注意AddType命令将把你现有的html文件作为php文件处理。如果你想用一个新的php文件替换一个现有的html文件,你需要使用重写规则。
qni6mghb6#
规则need需要在$1前面加一个/,否则,至少在我的cPanel中,我重定向到的文件有完整的路径,包括主文件夹等在重写时重写引擎规则^(.*).html$ /$1.php [L,R]
nukf8bse7#
RewriteEngine On RewriteRule ^(.*)\.html$ $1.php [L]
如果您希望将其作为重定向而不仅仅是重写来完成,请将[L]修改为[L,R]
[L]
[L,R]
7条答案
按热度按时间zpgglvta1#
您可以采用一种更简单的方法,通过在.htaccess中添加以下行,将所有html文件作为php文件处理。
gfttwv5a2#
mod_rewrite来救援!
vpfxa7rd3#
在apache httpd.conf文件中,可以添加
使.html文件在提供给用户之前通过php解析器。你也可以把这个指令添加到你的.htaccess文件中。第二个方法可能不起作用,这取决于你的主机是如何设置的。
rxztt3cl4#
如果你想要一个实际的
HTTP 301 Moved Permanently
重定向或
huus2vyu5#
注意AddType命令将把你现有的html文件作为php文件处理。如果你想用一个新的php文件替换一个现有的html文件,你需要使用重写规则。
qni6mghb6#
规则need需要在$1前面加一个/,否则,至少在我的cPanel中,我重定向到的文件有完整的路径,包括主文件夹等
在重写时重写引擎规则^(.*).html$ /$1.php [L,R]
nukf8bse7#
如果您希望将其作为重定向而不仅仅是重写来完成,请将
[L]
修改为[L,R]