Является ли & # 8220; перенаправление 404 & # 8221; законный редирект?

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

Вопрос

У меня есть ситуация, когда некоторые пользователи могут приходить на страницы с ошибками, ссылками и т. д. В большинстве случаев я могу определить правильную страницу, которая должна отображаться, поэтому я хочу перенаправить на правильный URL-адрес.

В этом случае уместно перенаправление 301. 301 означает «Перемещено навсегда», но в этом случае документ не был в первую очередь. Допустимо ли установить заголовок 404 Not Found, а затем перенаправить на правильный URL-адрес?

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

Решение

Я бы использовал 301. Перемещение навсегда уместно, так как оно говорит о том, что доступной страницы нет и не будет. Если у кого-то есть ссылка на эту страницу, он знает, что должен обновить ссылку.

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

Остерегайтесь 301, так как это означает «навсегда», например, даже если вы в будущем будете использовать этот URL, поисковые системы могут захотеть не обращать на него внимания, поскольку они " знают " контент по этому конкретному URL был перемещен «навсегда».

Используйте 303 См. другой , если вы хотите перенаправить, или, что еще лучше, отобразите 404 и дружеское сообщение об ошибке, которое ссылается на предпочтительный контент.

Я думаю, что привлечение пользователя к " вы имели в виду " тип страницы будет моим предпочтением. Если у вас нет предложений по " вы имели в виду " содержание, а затем дать им реальную страницу ошибки и 404 ее. В противном случае оставьте страницы с статусом 200 и дайте пользователю перейти по ссылке.

Я склонен использовать 301 для перенаправления ранее известных и устоявшихся URL, которые по какой-то причине изменились. Причина, по которой я буду беспокоиться о подходе автоматического перенаправления, заключается в том, что недостаток в вашем алгоритме обнаружения может оказать негативное влияние на SEO.

301 идеально подходит, если вы достаточно уверены, что знаете, каким должен быть URL. Это лучшее решение как для браузеров, так и для SEO, когда они сталкиваются с неработающими входящими ссылками.

Однако 3xx неуместен в качестве общего ответа "страница не найдена". Есть некоторые сайты, которые всегда вынуждают вас / вместо 404 возвращать вас, но это действительно плохая вещь, которая может легко сломать вещи.

Я знаю, что 404 может включать заголовок перенаправления, но это звучит очень плохо для меня.

вы не можете перенаправить документ 404. может быть, просто отобразить страницу 404 и предложить несколько правильных URL. 404 означает ошибку. Я знаю, что Google не будет рад видеть эти ссылки. :)

Вы можете только один раз ответить на запрос http - вы не можете отправить 404, а затем отправить 301. Так что я думаю, что вы застряли с 301.

Либо используйте 301 и выполните перенаправление, либо используйте 404 и отобразите сообщение в виде строк "Я думаю, что вы имеете в виду" этот URL "вместо этого; обновить свои закладки " (и не перенаправлять).

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