我想更新网站上的所有页面,以使用包含页脚和页眉。所以我必须将很多.html页面改为.php。
所以我正在寻找一种方法,将所有以.html结尾的网页重定向到相同的网址,但以.php结尾。
答案 0 :(得分:38)
RewriteEngine On
RewriteRule ^(.*)\.html$ $1.php [L]
如果您希望将其作为重定向而不是仅重写,请将[L]
修改为[L,R]
答案 1 :(得分:8)
你可以做一个更简单的方法,把你的所有html文件作为php文件处理,方法是在.htaccess中添加以下行
AddHandler application/x-httpd-php .php .html
答案 2 :(得分:6)
mod_rewrite救援!
RewriteEngine On
RewriteRule ^(.+)\.html$ $1.php
答案 3 :(得分:1)
在apache httpd.conf文件中,您可以添加
AddType application/x-httpd-php .html
使.html文件在提供给用户之前通过php解析器。您还可以将此指令添加到.htaccess文件中。第二种方法可能不起作用,具体取决于主机的设置方式。
答案 4 :(得分:0)
请注意,AddType命令会将您现有的html文件处理为php。如果您想要用新的php文件替换现有的html文件,则需要使用重写规则。
答案 5 :(得分:0)
如果您想进行实际的HTTP 301 Moved Permanently
重定向
RewriteEngine on
RedirectMatch 301 ^(.*)\.html$ $1.php
或
RewriteEngine on
RewriteCond %{THE_REQUEST} \ /(.+)\.php
RewriteRule ^ /%1.html [L,R=301]
答案 6 :(得分:-1)
我看到“Add * application / x-httpd-php .html”将强制PHP预处理简单的.html页面类型。
但是我想知道是否有人可以解释为什么Wewals的“AddType”比Jordonias的“AddHandler”更好(或不是)?
根据讨论here,他们似乎都工作正常,但开销略有不同。
所以我想我的大问题是:考虑到维护搜索引擎排名,将静态HTML页面转换为PHP平台并保持现有* .html链接“实时”的最佳选择是什么?
谢谢!