404 Ошибка не работает с /dir/file.php - PullRequest
0 голосов
/ 08 июня 2019

Хорошо, я опубликую этот вопрос в надежде, что вы понимаете, о чем я говорю, используя свои навыки и знания

У меня есть файл ошибки 404 в корневом каталоге с именем error404.html. Также у меня есть файл .htaccess со строкой:

ErrorDocument 404 /error404.html

Если вы заходите на мой сайт https://www.mysite/index.php, это хорошо работает.

Если вы попытаетесь найти страницу, которой нет, например, https://www.mysite/nothere.php, моя страница с ошибкой появится и работает нормально.

Если вы зайдете на мой сайт и перейдете на https://www.mysite/other/apage.php все в порядке. Если вы попытаетесь найти страницу, которой нет https://www.mysite/other/nothere.php моя страница с ошибкой появляется и работает нормально

Так вот моя проблема:

Вы заходите на мой сайт и переходите на https://www.mysite/other/apage.php, и эта страница должна работать, но вы допустили ошибку и фактически набрали https://www.mysite/other/apage.php/nothere.php, вместо того, чтобы показать мою ошибку 404, она пытается показать https://www.mysite/other/apage.php с отсутствующим текстом и изображениями

Почему я не получил страницу с ошибкой 404?

1 Ответ

0 голосов
/ 08 июня 2019

Это нормальное поведение обработчика запросов PHP, поскольку other/apage.php является допустимым файлом, а директива AcceptPathInfo по умолчанию включена.

Чтобы отключить это поведение явно:

  • В вашей конфигурации Apache
<Directory /var/www/html>
  AcceptPathInfo Off
</Directory>
  • или в вашем файле .htaccess
AcceptPathInfo Off
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...