301/302 с текстом документа, показывающим «нажмите здесь, если ваш браузер не перенаправляет вас» - PullRequest
0 голосов
/ 15 августа 2011

Мы будем реализовывать крошечное тело документа со всеми нашими ответами 301 и 302.

Они будут содержать небольшую часть HTML-кода с привязкой, указывающей на URL, куда пользователь должен быть перенаправлен.

Есть ли какие-либо подводные камни или вещи, о которых мы должны знать, когда делаем это, или это так же просто, как включить HTML в тело документа при отправке заголовка 'location'?

1 Ответ

2 голосов
/ 15 августа 2011

Если браузер увидит код результата HTTP 301/302, он IGNORE тело документа / ответа и мгновенно перенаправит на URL, указанный в Location: заголовке ответа.


Но да - вы можете отобразить такую ​​страницу и перенаправить на новый URL-адрес ... но это будет , как при обычном щелчке по ссылке (а не при переадресации 301/302 каким-либо образом) и, следовательно, не подходит для целей SEO. Если интересно - вот как это можно сделать:

Когда пользователь заходит на такую ​​страницу, покажите ему / ей свое перенаправляющее сообщение / страницу. На этой странице такое перенаправление может быть достигнуто двумя способами:

  1. Использование JavaScript - window.location = "http://www.example.com/new-url". Все, что вам нужно сделать, это выполнить этот код через 10 секунд после загрузки страницы - для этого используйте функциональность setTimeout().

  2. Без JavaScript (предпочтительный метод, так как он будет работать, даже если JavaScript отключен или недоступен) с использованием строки заголовка <meta http-equiv="refresh":

    <meta http-equiv="refresh" content="10; url=http://www.example.com/new-url">

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...