web-dev-qa-db-ja.com

httpd.conf AllowOverride All

Codeigniter URLからindex.phpを削除しようとしています。 codeigniterとion authを備えたApache24を持っています。これを機能させる唯一の方法は、AllowOverride Allを許可することです。

関連するコードは次のとおりです。

<Directory "c:/Apache24/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

AllowOverride Noneを使用すると、404エラーコードが返されます。 AllowOverride Allを使用すると機能します。

本番サーバーでのセキュリティの影響は何ですか?

13
Smudger

AllowOverrideディレクティブは、Webサーバー内で.htaccessを使用して、ディレクトリごとにApache構成を上書きできるようにするために使用されます。 CIはmod_rewritesを使用して正しく機能させると思います。 CIが使用する.htaccessファイルの使用を許可するようにWebサーバーに指示しているため、AllowOverride Allがある場合にのみ機能します。それが簡単な答えです。言うまでもなくセキュリティについてではなく、.htaccessファイルを使用するためのものです。

Codeigniterを使用するには、おそらくAllowOverride Allを使用する必要があります。このディレクティブを使用しても、セキュリティ上の大きな問題はありません。セキュリティに関しては、大丈夫です。ただしないでくださいAllowOverride Allブロックで<Directory />を使用します。

特定のWebディレクトリでのみ使用してください。これは現在の状態であり、AllowOverride Allで問題ありません。

<Directory "c:/Apache24/htdocs">

このディレクティブがなければ、.htaccessファイルは機能しません。詳細な説明については、ドキュメントをご覧ください。

http://httpd.Apache.org/docs/current/mod/core.html#allowoverride

26
Panama Jack