仅使用客户端代码检测301重定向

Detecting a 301 Redirect using Client Side Code Only

本文关键字:检测 重定向 代码 客户端      更新时间:2023-09-26

我有一个不再被使用的网站,因为产品不再被开发。该网站将使用301重定向来引导任何访问到新产品网站。

我想做的是给第一次访问旧网站的人展示一个div,以解释产品名称的变化,但只给那些第一次访问旧网站的人。

这是可能使用 javascript吗?我读过关于使用PHP的可能解决方案,但再次我需要一个JS唯一的解决方案,如果它是可能的。

注意:我在网站上使用jQuery 2.1,所以jQuery解决方案是好的。

这是不可能的。如果您返回一个301,浏览器将跟随它,而不显示您可能发送的任何HTML。

或者,您可以返回200以及以下内容:

<div>The new site is at newsite.com</div>
<script type="text/javascript">
setTimeout(function() { window.location('newsite.com'); }, 60 * 1000);
</script> 

显示div并重定向用户(60秒后),但不会通知搜索引擎内容已移动到新站点。

你可以(在某种程度上)缓解搜索引擎优化问题与rel="canonical",但谷歌等人建议反对它(你的情况是301的目的,rel="canonical说"这个内容有两个版本,只索引这里的一个):

<head>
  <link rel="canonical" href="newsite.com">
</head>
<body>
  <div>The new site is at newsite.com</div>
  <script type="text/javascript">
  setTimeout(function() { window.location('newsite.com'); }, 60 * 1000);
  </script>
</body>

我想没有。

透明地跟随重定向

w3: xhr