Обнаружение перенаправления 301 с использованием только кода на стороне клиента

У меня есть сайт, который больше не будет использоваться, поскольку продукт больше не разрабатывается. Этот сайт будет использовать переадресацию 301 для направления любых посещений сайта с новым продуктом.

Я хотел бы показать div всем, кто впервые заходит на старый сайт, чтобы объяснить изменение названия продукта, но только тем, кто первым посетит старый сайт.

Возможно ли это с использованием только javascript? Я читал о возможных решениях с использованием PHP, но опять же мне нужно решение только для JS, если оно вообще возможно.

Примечание. Я использую на сайте jQuery 2.1, поэтому решение jQuery подойдет.


person L84    schedule 24.03.2014    source источник


Ответы (2)


Это невозможно как есть. Если вы вернете 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 секунд), но не сообщает поисковым системам, что контент был перемещен на новый сайт.

Вы можете (несколько) облегчить проблемы с SEO с помощью rel="canonical", но Google et al. не рекомендую (ваша ситуация - это то, для чего были созданы 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>
person SomeKittens    schedule 24.03.2014
comment
Я этого боялся. Спасибо за помощь и ответ. - person L84; 25.03.2014

Полагаю, нет:

прозрачно следовать перенаправлению

w3: xhr

person kirilloid    schedule 24.03.2014