Почему эта страница возвращает страницу 404 по умолчанию: http://example.com/this%2Fthis
но этот возвращает пользовательский: http://example.com/this/this
и этот возвращает также пользовательский: http://example.com/?i=this%2Fthis
Вот мой файл htaccess:
ErrorDocument 404 http://example.com/?id=error
В моем htaccess я четко указываю страницу, на которую должны перенаправляться все ошибки. В первом случае я получаю страницу с ошибкой по умолчанию, а не свою.
Вопрос в том, что я должен добавить в свой htaccess-файл, чтобы URL-адрес работал правильно и перенаправлял на страницу ошибки?
Такое поведение обусловлено соображениями безопасности.
URL содержащие %2f
ИЛИ ЖЕ %5c
символы просто возвращают значение по умолчанию 404
от Apache
по соображениям безопасности.
Других решений пока нет …