PHP перейти на страницу с ошибкой - PullRequest
0 голосов
/ 25 октября 2009

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

РЕДАКТИРОВАТЬ: это сработало:

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

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

1 Ответ

3 голосов
/ 25 октября 2009

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

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

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

...