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

标签 javascript redirect http-status-code-301

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

我想做的是向第一次访问旧网站的任何人显示一个 div 来解释产品名称更改,但仅限于首先访问旧网站的人。

仅使用 JavaScript 可以实现这一点吗?我read关于使用 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" 缓解 SEO 问题,但 Google 等人。建议不要这样做(您的情况就是 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>

关于javascript - 仅使用客户端代码检测 301 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22622858/

相关文章:

php - 如何重定向到带有 Owl Carousel 的不同 html 页面的特定部分

ruby-on-rails - Rails `form_with` `redirect_to` 303 `:see_other` 使得请求不重定向

redirect - Nginx 位置别名 + 重定向

javascript - cherry-pick 测试并制作西装

javascript - JS中通过onclick访问对象外的方法

javascript - 将一段数据从子组件传递到父组件是 react 中的反模式吗?

javascript - 类在 Jquery 中不起作用

SSL 301 重定向错误 - Joomla 和 Nginx

php - 如何在 PHP 中进行重定向?

.htaccess - SEO - 将子域移动到文件夹