Правильно работать с пользовательскими страницами 404 - PullRequest
0 голосов
/ 12 ноября 2011

У меня есть 3 файла: index.php,.htaccess,404.shtml

index.php содержит:

<?php
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found"); 
?>

.htaccess содержит:

ErrorDocument 404 /404.shtml

404.shtml содержит:

Hello World

когда я захожу на index.php, мой браузер сообщает мне oops something went wrong. Что могло пойти не так?

1 Ответ

0 голосов
/ 12 ноября 2011

Я думаю, потому что .htaccess стоит на первом месте, и сервер будет перенаправлять на него, только если физический файл действительно не существует.

Если вы обрабатываете 404 через заголовок php, вы должны обрабатывать его либо для реального пользователя, например,с

 <?
 header("Location: /this/page/really/not_exists.404"); //  trigger "real" 404
 //or
 header("Location: /404.shtml");

для справки попробуйте поискать здесь Почему мое PHP-приложение не отправляет ошибку 404?

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