Я использую OW ASP ZAP, чтобы протестировать свой сайт перед запуском его, и я заметил, что получаю некоторые неожиданные результаты, которые я не могу объяснить.
Во-первых, все должно быть направленным на индекс. php для последующей обработки. Итак, у меня есть простое правило mod_rewrite, которое должно перехватывать все.
RewriteRule ^(.*)$ /index.php [L,NC]
Однако во время тестирования я заметил, что в некоторых случаях это возвращало 404. Я бы предположил, что с правилом всеобщего охвата, что 404 невозможно.
Примером чего-то, что вызывает 404, является
%2FWEB-INF%2Fweb.xml
, но использование фактических слешей в запросе, таких как
/WEB-INF/web.xml
, работает как задумано и запрос обрабатывается индексом. php.
Похоже, что кодировка sla sh (% 2F) вызывает проблему, но я не понимаю, почему.
Теперь, Я легко могу справиться с этой ситуацией, установив директиву ErrorDocument, указывающую на индекс. php, но это касается того, что 404 происходит в первую очередь.
В случае, если это имеет значение, вот определение Справочника.
<Directory /var/www/html/>
Options None
AllowOverride All
Require all granted
</Directory>