Вы пропустили весь смысл этого поста

я есть куча директив ErrorDocument в моем файле .htaccess, чтобы отлавливать почти все возможные ошибки, которые Apache может выдать пользователю, и перенаправить указанного пользователя на мой контроллер ошибок, который затем отобразил бы ошибку в более удобной для пользователя форме. Тем не менее, это не похоже на работу.

Например, когда я ввожу недопустимый URL-адрес, такой как mysite.com/""##$##$! Я всегда получаю сообщение об ошибке Apache по умолчанию 403 вместо перенаправления на мой файл errors.php. Ниже указана директива, которую я использую. Нужно ли что-то еще делать, чтобы это работало? (AllowOverride All установлен)

   ErrorDocument 403 /errors.php

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

Спасибо!

Редактировать: О, просто думал, что я упомяну это. Я написал свою собственную структуру MVC для перенаправления запроса, и она работает хорошо. Изнутри PHP, если пользователь запрашивает несуществующий URL, моя собственная ошибка 404 будет срабатывать очень хорошо (или любая другая ошибка, которую я определил). Так что в основном, если я захожу на mysite.com / !!!! в URL, он будет работать, и я получу 404. Однако всякий раз, когда я запускаю запрос с символом двойной кавычки, запускается ошибка Apache 403 по умолчанию. Странный. Кроме того, ошибка 500 не сможет перенаправить также на errors.php и просто вернет экран Apache 500 по умолчанию (например, при тестировании с заголовком («HTTP / 1.0 500 Internal Server Error»); die ();) ,

Редактировать 3: я просто попытался разместитьErrorDocument 200 "message" в моем файле .htaccess ничего не произошло, любая открытая страница открывается нормально. В худшем случае это должно застрять в бесконечном цикле. В лучшем случае, он должен вывести «сообщение». Это не так, просто игнорировал ErrorDocument. В журнале доступа Apache отмечается нормальный заголовок «200 OK», но он полностью игнорируется .htaccess.

Ответы на вопрос(2)

Ваш ответ на вопрос