如何将旧的 html 页面重定向到新的 php 页面。我使用了此代码,但它使用完整文件路径进行重定向。我使用以下代码。
RewriteEngine On
RewriteRule ^(.*).html$ $1.php
答案1
但它使用完整文件路径重定向
如果您指定相对替代. 即代换不以斜杠 ( /
) 或方案 + 主机 (绝对 URL) 开头。在您的示例中,使用.htaccess
,捕获的反向引用排除了 URL 路径上的斜杠前缀。因此,您需要在代换。 例如:
RewriteRule ^(.*).html$ /$1.php
但是,如果你需要外部重定向(正如你在问题中描述的那样)那么你还需要在 上明确包含R
( )标志,否则你会得到一个redirect
RewriteRule
内部重写(URL 不会改变 - 但您的网站可能仍会使用旧的.html
URL)。
如果您的文件中还有其他指令,您可能还需要L
( last
) 标志来防止进一步重写。例如:
RewriteRule ^(.*).html$ /$1.php [R=302,L]
如果这应该是重定向(而不是重写),并且这是永恒的更改您的 URL 结构,然后仅当您确定它正常工作时才将302
(临时)更改为(永久)。(浏览器会严格缓存,因此可能会使测试出现问题。)301
301