【.htaccess】特定のファイルへのアクセス拒否する

トップページ > 特定のファイルへのアクセス拒否する

特定のファイルへのアクセス制限する

例えば、example.htmlというファイルへのアクセスを制限する場合には、
以下のように記述します。

<Files example\.html>
Deny from all
</Files>

.htaccessは該当ファイルと同じ階層に置いて下さい。

Deny from all」を設定することにより、example.htmlへの全てのアクセスを拒否することが出来ます。

この記述は、特定のファイルのみを守りたい場合の基本的な記述になります。
他にもいろいろな記述パターンがあるので、いくつかまとめておきます。

 

複数ファイルへのアクセスを制限

例えば、example01.htmlexample02.htmlの2ファイルへのアクセスを制限する場合には、
以下のように記述します。

<Files ~ “^(example01\.html|example02\.html)$”>
Deny from all
</Files>

※複数ファイル設定する場合、パイプライン(|)で区切ります。

 

特定の拡張子のファイルへのアクセスを制限

例えば、ログファイル(拡張子「.log」)へのアクセスを制限する場合

<Files ~ “\.log$”>
Deny from all
</Files>

拡張子を複数設定する場合には、以下のように記述します。

<Files ~ “\.(jpg|gif|png)$”>
Deny from all
</Files>

これにより、JPEG、GIF、PNGへのアクセスを制限できます。

 

WordPressのconfigファイルを守る

WordPressでは、セキュリティ対策の為にwp-config.phpへ直接アクセスさせないように制限します。
その場合には、以下のように記述します。

<Files wp-config\.php>
Deny from all
</Files>

xmlrpc.phpへのアクセスも制限する場合には、以下のように記述します。

<Files ~ “^(wp-config\.php|xmlrpc\.php)$”>
Deny from all
</Files>

※.htaccessはWordPressのルートディレクトリ直下に設置して下さい。

 

特定のIPアドレスからのみアクセスを許可する場合

<Files wp-login\.php>
Order deny,allow
Deny from all
Allow from xxxx.xxxx.xxxx.xxxx
</Files>

※「xxxx.xxxx.xxxx.xxxx」の部分は、IPアドレスに変更して下さい。

Allow from xxxx.xxxx.xxxx.xxxx」で設定したIPアドレスからのアクセスのみ許可することが出来ます。
Order deny,allow」も忘れずに記述して下さい。

 

各記号の説明

\ エスケープ:「.」のような記号を文字として認識させる
~ パターンマッチ:「~」から後ろに記述したルールにマッチしたファイルに
^ 開始位置:ファイル名の先頭を表す
$ 終了位置:ファイル名の最後を表す