У меня есть куча директив ErrorDocument в моем файле .htaccess, чтобы отловить почти все возможные ошибки, которые Apache может выдать пользователю, и перенаправить указанного пользователя на мой контроллер ошибок что затем сделает ошибку более удобной для пользователя. Однако, это не работает.
Например, когда я ввожу недопустимый URL-адрес, например mysite.com/"##$##$! Я всегда получаю сообщение об ошибке 403 Apache по умолчанию вместо перенаправления на мой файл errors.php. Ниже я использую директиву. Нужно ли мне что-то делать, чтобы это работало? (AllowOverride All is set)
ErrorDocument 403 /errors.php
Если это неправильный подход к абсолютной пользовательской обработке ошибок, дайте мне знать, я был бы признателен за толчок в правильном направлении.
Спасибо!
Изменить: Нужно ли мне что-то делать, чтобы это работало? (AllowOverride All is set)
ErrorDocument 403 /errors.php
Если это неправильный подход к абсолютной пользовательской обработке ошибок, дайте мне знать, я был бы признателен за толчок в правильном направлении.
Спасибо!
Изменить: Нужно ли мне что-то делать, чтобы это работало? (AllowOverride All is set)
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.