Какой статус HTTP-перенаправления я должен использовать для создания ссылки вне сайта?

StackOverflow https://stackoverflow.com/questions/1613029

Вопрос

Случайно просматривая свой веб-сайт через Google, я заметил, что удаленные перенаправления отображаются как локальные файлы.Это может быть как хорошо, так и плохо, но мне интересно, как я могу это исправить, чтобы этого не произошло?

В настоящее время я использую PHP и header('Location: ... который отправляет перенаправление 302.Просматривая список Коды состояния HTTP, я бы предположил, что мне следует использовать 303 перенаправления для перенаправления за пределы сайта.Кто-нибудь может помочь мне здесь и либо подтвердить / опровергнуть это, либо сказать мне, что я должен делать вместо этого?

Очевидно, что из-за того, что я не могу указать Google переиндексировать мой сайт по команде, возникают проблемы с возможностью протестировать это самостоятельно...

Это было полезно?

Решение

код состояния 303 предназначен для использоваться в ответ на запрос POST для перенаправления на другой ресурс:

  

Этот метод существует главным образом для того, чтобы выходные данные активированного POST-скрипта могли перенаправить пользовательский агент на выбранный ресурс.

В вашем случае вы должны использовать код статуса 301 для постоянного перенаправления:

  

Запрошенному ресурсу был назначен новый постоянный URI, и любые будущие ссылки на этот ресурс ДОЛЖНЫ использовать один из возвращенных URI.

Или вы используете временное перенаправление ( 302 / 307 ) и не указывайте поисковым системам индексировать эти документы.

Другие советы

Note: Many pre-HTTP/1.1 user agents do not understand the 303
status. When interoperability with such clients is a concern, the
302 status code may be used instead, since most user agents react
to a 302 response as described here for 303.

Я не знаю, какие пользовательские агенты существуют до HTTP / 1.1, так что...В зависимости от того, к чему вы стремитесь, я бы использовал либо 301 (постоянный), либо 307 (временный).301 попросит Google вести себя так, как если бы вы напрямую ссылались на перенаправленный сайт.

303 похоже, что он предназначен, в частности, для использования при перенаправлении после отправки форм.

Редактировать:

хотя ваш вопрос звучит так: "Какой статус HTTP-перенаправления я должен использовать для ссылки на офсайт?" -- как насчет прямой ссылки на офсайт?(что, я думаю, не сработает, если вы используете форму для создания ссылок, и в этом случае вы бы используйте код состояния 303)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top