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
を使用すると機能します。
本番サーバーでのセキュリティの影響は何ですか?
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