.htaccess | 特定または複数のURL、サイトからのアクセスを遮断する

.htaccess

.htaccessを使って特定のURL、サイトまたは複数のURL、サイトからのアクセスを拒否、遮断するサンプルコードを紹介しています。

怪しいアクセス解析系のサイトから大量にページが読み込まれている場合などに有効です。

確認環境

エックスサーバー

特定のURL、サイトからのアクセスを遮断する

特定のURL、サイトからのアクセスを遮断するには「SetEnvIf Referer」でアクセスを制限したいサイトのURLを指定。
「deny from env」を利用して、指定したサイトからのアクセスを拒否するように設定します。

SetEnvIf Referer "^https://www\.aaa\.com/" deny_referrer
order allow,deny
allow from all
deny from env=deny_referrer

「deny from env」で遮断された場合、ページは302にリダイレクトされます。
また、当然ですがGoogleアナリティクスなどのアクセス解析ツールには反映されなくなります。

複数のURL、サイトからのアクセスを遮断する

複数のサイト、URLをアクセス制限の対象にする場合は、「SetEnvIf Referer」を列挙します。

SetEnvIf Referer "^https://www\.aaa\.com/" deny_referrer
SetEnvIf Referer "^https://www\.bbb\.com/" deny_referrer
order allow,deny
allow from all
deny from env=deny_referrer

.htaccess

Posted by Yousuke.U