ファイル・ディレクトリへのアクセスを禁止する設定例【.htaccess】FilesMatch

.htaccess(ドットエイチティーアクセス)は、Apacheを用いたWebサーバーに、ディレクトリ単位で設置できる設定ファイル。

今回は、その.htaccessファイルを利用して、指定したファイルへのアクセスを禁止する設定例となります。

【.htaccess】指定したファイル・ディレクトリへのアクセスを禁止する例

.htaccessには、変更する設定によってディレクティブと呼ばれる命令を記述します。また、.htaccessファイルは、配置したディレクトリと配下のディレクトリすべてに適用されます。

指定したファイルへのアクセスを禁止

例では、次のいずれかの文字から始まるファイル名を指定して、そのファイルへのアクセスを禁止します。

  • wp-config.php
  • wp-mail.php
  • install.php
  •  .ht(.htaccessなど)

以下、.htaccessに記述する構文の例となります。

<FilesMatch "^(wp-config\.php|wp-mail\.php|install\.php|\.ht)">
deny from all
</FilesMatch>

指定したディレクトリへのアクセスを禁止

指定したディレクトリと配下のディレクトリへのアクセスを、すべて禁止する場合には、以下の構文を.htaccessに記述します。

deny from all

アクセスの禁止を確認

上記で指定したアクセスの禁止を確認するには、ブラウザから、指定したファイル・ディレクトリのURLへアクセスします。

アクセスしたURLが 403エラーとなれば、アクセスが禁止されています。

例で利用したディレクティブについて

以下、例で利用したディレクティブのまとめとなります。

FilesMatchディレクティブ

FilesMatchディレクティブは、Apache コア機能のディレクティブとなり、ディレクティブを適用させる範囲をファイル名によって制限します。

また、ファイル名の指定には正規表現を利用します。

FilesMatchの構文について

FilesMatchの構文は次のような形式となり、FilesMatchで囲ったディレクティブは、FilesMatchの引数に正規表現で指定したファイル名のみに適用されます。

<FilesMatch 正規表現>
ディレクティブ
</FilesMatch>

その他にも、ディレクティブを適用させる範囲を制限できるディレクティブはあります。詳しくは文末の参考サイト内を確認してみてください。

denyディレクティブ

例のdenyディレクティブでは引数にはfrom all を指定して、すべてのアクセスを禁止しています。

denyディレクティブの詳細については、以下のリンク先を参考にしてみてください。

参考サイトなど

コメント投稿コメント投稿欄を開く

コメントは項目欄(*は必須項目)を入力し、「コメントを送信」ボタンをクリックしてください。 (メールアドレスは公開されることはありません。コメントの公開は承認制となります。)

また、多忙によりコメントには返信できない場合があります。

Twitterで返信する場合はこちらから。