.htaccessを使って特定のIPアドレスやホストのアクセスを拒否するサンプルコード

  • このエントリーをはてなブックマークに追加

IPアドレス単位/ピンポイントで制御

すべてのページを対象に飛ばしてしまう。

特定のIPアドレスを排除する=どこかのページに飛ばしてしまう。

RewriteEngine On
RewriteCond %{REMOTE_ADDR} ^000.000.000.000$
RewriteCond %{HTTP:X-Forwarded-For} ^000.000.000.000$
RewriteRule .* https://example.com/ [R=301,L]

特定のIPアドレス以外排除する=どこかのページに飛ばしてしまう。
※!がついているかどうかの違い。

RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^000.000.000.000$
RewriteCond %{HTTP:X-Forwarded-For} !^000.000.000.000$
RewriteRule .* https://example.com/ [R=301,L]

複数指定するときはこう。

RewriteEngine On
RewriteCond %{REMOTE_ADDR} ^000.000.000.000$
RewriteCond %{REMOTE_ADDR} ^000.000.000.000$
RewriteCond %{HTTP:X-Forwarded-For} ^000.000.000.000$
RewriteCond %{HTTP:X-Forwarded-For} ^000.000.000.000$
RewriteRule .* https://example.com/ [R=301,L]
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^000.000.000.000$
RewriteCond %{REMOTE_ADDR} !^000.000.000.000$
RewriteCond %{HTTP:X-Forwarded-For} !^000.000.000.000$
RewriteCond %{HTTP:X-Forwarded-For} !^000.000.000.000$
RewriteRule .* https://example.com/ [R=301,L]

特定のフォルダ・ページのみバイバイ

特定のページに特定のIPアドレスがアクセスしてきたときはバイバイする。

RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^000\.000\.000\.000$
RewriteCond %{HTTP:X-Forwarded-For} !^000.000.000.000$
RewriteRule ^unko$ /baibai/
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^000\.000\.000\.000$
RewriteCond %{HTTP:X-Forwarded-For} !^000.000.000.000$
RewriteRule ^unko/unko.html$ /baibai.html

プロバイダ・ホストで制御

特定のIPアドレスのみ排除する=どこかのページに飛ばしてしまう。

RewriteEngine On
RewriteCond %{REMOTE_HOST} ^.*\.mctv\.ne\.jp
RewriteRule .* /baibai/
RewriteEngine On
RewriteCond %{REMOTE_HOST} ^.*\.mctv\.ne\.jp
RewriteRule ^index.html$ /baibai/index.html