apacheの設定ファイルの「httpd.conf」を見ると、こんな記述がありますよね
<Directory "/var/www">
AllowOverride All
Require all granted
</Directory>
<Directory "/var/www/html">
AllowOverride All
Options Indexes FollowSymLinks
Require all granted
</Directory>
この「AllowOverride」というのはなんだろう、と思ったので調べてみました。
AllowOverrideは、「.htaccess」を有効化するか無効にするかの設定です。
「.htaccess」というのは、ディレクトリごとにapacheの設定を上書きできる仕組みです。
自分でサーバーを建てた時は、デフォルトではAllowOverride Noneになっているので、いくらhtaccessを設定しても効きません。
なので、AllowOverride Allに変更して、htaccessを有効化する必要があります。
例えば、htaccessでリダイレクト設定をしたい場合、AllowOverride Noneのままだと効かないので、Allに変更する必要があります。
<Directory "/var/www/html">
AllowOverride None
</Directory>
↑こうなっているとhtaccessは無効です。
<Directory "/var/www/html">
AllowOverride All
</Directory>
↑こうするとhtaccessが有効になります。
まとめると、AllowOverrideはhtaccessを有効化するかどうかの設定で、Allにするとhtaccessが有効になり、
Noneにすると無効になります、という話でした。

コメント