#apache #.htaccess #codeigniter #httpd.conf
#apache #.htaccess #codeigniter #httpd.conf
Вопрос:
Я пытаюсь удалить index.php с моего URL-адреса codeigniter. У меня есть apache24 с codeigniter и ion auth. Единственный способ заставить это работать — разрешить AllowOverride All
.
Соответствующий код:
<Directory "c:/Apache24/htdocs">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Использование AllowOverride None
этого возвращает код ошибки 404. Использование AllowOverride All
этого работает.
Каковы последствия этого для безопасности на рабочем сервере?
Ответ №1:
AllowOverride
директива используется для разрешения использования .htaccess
внутри веб-сервера, чтобы разрешить переопределение конфигурации Apache для каждого каталога. Я считаю, что CI использует mod_rewrites, чтобы заставить его работать правильно. Вот почему это работает только тогда, когда у вас есть AllowOverride All
, потому что вы сообщаете веб-серверу разрешить использование файла .htaccess, который использует CI. Это простой ответ. Речь идет не о безопасности, скажем, а об использовании .htaccess
файлов.
Скорее всего, вам придется использовать AllowOverride All
для использования codeigniter, потому что так оно и работает. При использовании этой директивы не должно быть никаких серьезных проблем с безопасностью. С точки зрения безопасности у вас все должно быть в порядке. Просто не используйте AllowOverride All
в <Directory />
блоке.
Используйте его только в определенном веб-каталоге. Это то, что у вас есть сейчас, и с этим должно быть все в порядке AllowOverride All
.
<Directory "c:/Apache24/htdocs">
если бы не эта директива, .htaccess
файлы не работали бы. Взгляните на документацию для более подробного объяснения.
http://httpd.apache.org/docs/current/mod/core.html#allowoverride
Комментарии:
1. Каковы последствия использования блока
AllowOverride All
in<Directory />
?2. @ApurvaKunkulol Это позволило бы Apache выполнять поиск
.htaccess
файлов вплоть до корня сервера. Помимо необходимости, документы Apache специально предупреждают об этом по соображениям «безопасности и производительности».