我正在寻找 PHP 重定向与 htaccess 重定向的详细解释。问题已经问了here但我的情况与此略有不同。
我有一个旧网站可以说是 www.mydomain.com/oldsite/ 我的新网站是 www.mydomain.com/newsite/
这是/oldsite 上的一个 wordpress 安装,有很多帖子,将所有这些都写在 htacccess 中是一个非常漫长的过程,所以如果我只是在主题的 header.php 中放置一个 php 代码,然后将重定向页面的任何 html 输出到新地址是一个好习惯还是我应该切换到 htaccess。 我使用的代码是
if (is_singular('post')){
$link = get_the_permalink();
$new_link = str_replace("oldsite","newsite",$link);
header("HTTP/1.1 301 Moved Permanently");
header("Location:".$new_link);
exit();
}
/newsite 上的 URL 结构与/oldsite 略有不同,在 php 重定向之前在字符串中附加 URL 结构更改后,我正在使用 php 处理所有帖子和文件重定向。
最佳答案
没有真正的功能差异。带有 .htaccess
的 Apache 和 PHP 都会发出 301 header 重定向。两者都没有比另一个更好(甚至是“最佳实践”)重定向。归根结底,标题就是标题。
关于php 与 htaccess 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37713599/