Редирект 404 или просто заголовок 404 - PullRequest
5 голосов
/ 14 марта 2012

Я в настоящее время кодирую сайт и хочу знать лучшую альтернативу.

Должен ли я добавить header("HTTP/1.0 404 Not Found") без перенаправления или мне нужно перенаправить и добавить заголовок 404?

Ответы [ 3 ]

10 голосов
/ 14 марта 2012

Перенаправление означает «То, что вы просили, на самом деле здесь».

Если оно не найдено, то оно не найдено.Не перенаправляйте.

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

(Практические последствия перенаправления - исчезновение URL-адресаиз адресной строки, из-за чего трудно взглянуть на мысль: «О, я набрал одну букву, я просто ее заменю» или скопировать / вставить в отчет об ошибках и т. д.).

5 голосов
/ 21 мая 2012
header("Status: 404 Not Found"); //FastCGI
include("404.php");
exit;

URI остается запрошенным пользователем.

2 голосов
/ 14 марта 2012

Вы должны перенаправить на страницу ошибки, но убедитесь, что вы установили статус на 404. Страница ошибки может дать пользователям инструменты для продолжения, такие как карта сайта, поиск, объяснение того, что они пытались загрузить, и немногословоблудие, например: «Извините, но запрошенная вами страница не найдена»и исправить их.Это тоже может быть инструментом для вас.

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