如何将旧的 html url 重定向到新的 php url

如何将旧的 html url 重定向到新的 php url

如何将旧的 html 页面重定向到新的 php 页面。我使用了此代码,但它使用完整文件路径进行重定向。我使用以下代码。

RewriteEngine On
RewriteRule ^(.*).html$ $1.php  

答案1

但它使用完整文件路径重定向

如果您指定相对替代. 即代换不以斜杠 ( /) 或方案 + 主机 (绝对 URL) 开头。在您的示例中,使用.htaccess,捕获的反向引用排除了 URL 路径上的斜杠前缀。因此,您需要在代换。 例如:

RewriteRule ^(.*).html$ /$1.php  

但是,如果你需要外部重定向(正如你在问题中描述的那样)那么你还需要在 上明确包含R( )标志,否则你会得到一个redirectRewriteRule内部重写(URL 不会改变 - 但您的网站可能仍会使用旧的.htmlURL)。

如果您的文件中还有其他指令,您可能还需要L( last) 标志来防止进一步重写。例如:

RewriteRule ^(.*).html$ /$1.php [R=302,L]

如果这应该是重定向(而不是重写),并且这是永恒的更改您的 URL 结构,然后仅当您确定它正常工作时才将302(临时)更改为(永久)。(浏览器会严格缓存,因此可能会使测试出现问题。)301301

相关内容