Apache Filesディレクティブの注意点

通常、Basic認証やIP制限をかけたいときは、configでDirectoryディレクティブの中身を変えるだろう。

その中のファイルだけに適用したい場合、Filesディレクティブを作ることで可能になる。

そこで、筆者はDirectoryディレクティブと同じようにパス指定できると思ってしまい、いつまで経っても上手くいかなった。

間違っているコード

<Directory "/var/www/vhosts/examle.com">
  #省略
   <Files "/exception/index.html">
       #省略
   </Files>
</Directory>

正しいコード

<Directory "/var/www/vhosts/examle.com">
  #省略
   <Files index.html>
       #省略
   </Files>
</Directory>

Filesディレクティブを使うときは、ディレクトリ直下にある必要はないので、いちいち二重にDirectoryディレクティブを使う必要はない。

同じファイル名が存在する場合はすべてに適用されるので注意が必要。 また、ファイル名では*や?のようなワイルドカードも利用可能である。