【发布时间】:2011-10-09 18:49:10
【问题描述】:
延迟几秒的 301 重定向的最佳方法是什么?我希望原始页面显示 5-10 秒,然后执行 301 重定向到另一个站点。我在 google 上的 PHP 中找到了很多解决方案,但我发现的唯一一个延迟的解决方案在重定向之前没有显示原始页面——只有一个空屏幕。
【问题讨论】:
延迟几秒的 301 重定向的最佳方法是什么?我希望原始页面显示 5-10 秒,然后执行 301 重定向到另一个站点。我在 google 上的 PHP 中找到了很多解决方案,但我发现的唯一一个延迟的解决方案在重定向之前没有显示原始页面——只有一个空屏幕。
【问题讨论】:
如果你不是编码类型,但你想要一个用途广泛的免费工具,我支持 Quick Pagepost Redirect Plugin
https://wordpress.org/plugins/quick-pagepost-redirect-plugin/
In this case you want to use a meta redirect.
此插件可以处理 Wordpress 重定向和元重定向(以防您需要延迟)
它支持 301、302、307 和元重定向。 您也可以添加 URL 以避免 404。
如果您正在升级网站并更改页面网址并希望保留 seo 排名,这是我朋友使用的工具(他是专业人士)
这一切都将完成 - 无需编码。
免责声明:我与这些人没有任何关系。
【讨论】:
您无法真正延迟执行真正的 301 重定向。 HTTP 是无状态的。对于“301 重定向”,如果你想让谷歌开心,这就是你想要的;客户端发送请求,服务器回复的状态码将为 301,作为回复的一部分,您将使用位置标头并告知新内容的位置。如果您没有所有这些,那么您就没有进行 301 重定向。
对于另一个答案,您正在客户端进行元刷新,这是谷歌不喜欢的。
这就是您执行 301 的方式,用户甚至根本看不到旧页面,并且可能根本不知道他们甚至被重定向了。
$location="http://www.yoursite.com/newpage";
header ('HTTP/1.1 301 Moved Permanently');
header ('Location: '.$location);
【讨论】:
You're being redirected
<META HTTP-EQUIV="refresh" CONTENT="5;URL=the-other-page.html">
或在 PHP 中
header( 'refresh: 5; url=/the-other-page.html' );
echo 'You\'re being redirected';
不过,最好选择第二种解决方案
【讨论】:
click here if your page doesn't refresh,一些恐慌的人禁用刷新,然后就没有简单的方法知道他们应该去哪里。