Назад | Перейти на главную страницу

Проблемы с перенаправлением Error 400 Bad Request на пользовательскую страницу

Я редактировал свой .htaccess в следующий файл:

ErrorDocument 404 /index.php?page=page-not-found
ErrorDocument 400 /index.php?page=bad-request

Теперь ошибка 404 перенаправляется правильно, но если я введу адрес вроде http://example.com/%22%%5E$%%5E&%C2%A3& сервер не перенаправляет ошибку 400, но отображает сообщение apache по умолчанию. Что я делаю не так?

Цитата из Документация Apache:

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

Итак, если вам нужна ошибка перенаправления 400, раскомментируйте ErrorDocument директива в httpd.conf Файл конфигурации Apache следующим образом:

# Some examples:
#ErrorDocument 500 http://foo.example.com/cgi-bin/tester
ErrorDocument 400 /cgi-bin/bad_request.pl
#ErrorDocument 401 /subscription_info.html
#ErrorDocument 403 "Sorry can't allow you access today" 

и перезапустите сервер Apache.