Я пытаюсь сделать фронт-контроллер, который будет игнорировать существующие каталоги. В некоторых случаях я получаю 301 переадресацию, где я бы этого не хотел. Я использую следующий .htaccess
файл:Как предотвратить перенаправление 301, когда пользователь запрашивает папку?
DirectoryIndex index.php
Options -Indexes
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.*)$ index.php?action=$1 [QSA,L]
В каталоге я тестировал это, у меня есть следующие настройки:
test/
.htaccess
index.php
Если я пытаюсь запросить сервер, мой второй пример результаты в 301 редирект:
curl -s server/tes | Outputs: tes
curl -s server/test | 301 Redirect; on follow will output: test
curl -s server/test/ | Outputs: test/
Как я могу предотвратить 301 от происходящих при доступе к server/test
? Я чувствую, что у меня здесь что-то довольно тривиальное.
Именно то, что я искал! – jdknight
В ситуации, когда я не возражаю против угрозы безопасности (просто используя ее локально), я все еще интересуюсь последствиями безопасности. Я замечаю, что [предупреждение о безопасности] (http://httpd.apache.org/docs/current/mod/mod_dir.html#DirectorySlash) упоминается, когда активен mod_autoindex ('Options + Indexes'). Поскольку у меня есть это отключить, 'Options -Indexes', со мной все будет в порядке? – jdknight
Да, я думаю, что с опциями -Indexes это должно быть хорошо. – anubhava