Вопрос

На моем веб-сайте website.com/downloads фактически переходит в website.com/index.php?page=downloads (с переписыванием на apache).У меня есть пользовательский набор страниц с ошибкой 404 not found.Если я это сделаю website.com/dkfjf/fdf, это приведет к ошибке 404, но если я это сделаю website.com/something, это приведет к index.php?page=something, так что тогда в моем index.php , как я могу заставить его просто перейти к ошибке 404, после того как я определю, что ее нет something страница?Потому что прямо сейчас я просто загружаю страницу с ошибкой my 404 в основной div (как и все другие страницы), но она непоследовательна (например, она все еще отображается website.com/soemthing в адресной строке, и есть другие проблемы), и я просто хочу, чтобы он перешел к ошибке 404.Как я могу это сделать?

Редактировать:это сработало:

echo '<meta http-equiv="refresh" content="0; url = /error" />';

(mywebsite.com/error перезаписывает в index.php?page=error, это моя страница с ошибкой 404).Разве это плохой подход?

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

Решение

Используйте header функция чтобы отправить правильный код состояния:

header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found', true, 404);

Затем вы можете отправить свой документ об ошибке с readfile если это статический файл или с include если это PHP-файл.

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