- 締切済み
.htaccessで特定のドメインを弾きたい
http://www.aaa.com/ というURLがあるとして、そのサブドメインを全てアクセス出来ないようにしたいと思っています。 http://bbb.aaa.com/ http://ccc.aaa.com/ 上記のようなURLになります。 SetEnvIf Referer "http://bbb.aaa.com/" shutout このように弾いていたのですが、bbbにあたる部分は固定ではないのです。 ファイルなどの場合は、ワイルドカードを使った説明もあったのですが リファラの場合も SetEnvIf Referer "http://*.aaa.com/" shutout このような感じで、使えるのでしょうか? ご助言よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- SAYKA
- ベストアンサー率34% (944/2776)
http://www.google.co.jp/search?q=%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE%E5%85%A5%E9%96%80&hl=ja&lr=lang_ja どれか適当なのを参考に、特殊記号類がどういう役割を持っているのか把握したら、この先もっと複雑な指定ができるようになれるよ
- SAYKA
- ベストアンサー率34% (944/2776)
http://httpd.apache.org/docs/2.2/mod/mod_setenvif.html#setenvif 一部抜粋 --------------------------------- 二つ目の引数 (regex) は Perl 互換の正規表現 --------------------------------- http://www.google.co.jp/search?q=perl%E3%81%AE%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE&hl=ja&lr=lang_ja 「*」じゃなく「.*」じゃないかな。 それと正規表現だから「.」(ピリオド)は「\」でエスケープしないとワイルドカード的に言う「?aaa?com」って形になっちゃうよ
お礼
コピペしたら、なぜか文字化けしてしまいました。 SetEnvIf Referer "http://.*\.aaa\.com/" shutout または SetEnvIf Referer "http://\.*\.aaa\.com/" shutout です。今度は大丈夫でしょうか…
補足
ありがとうございます。 下記のような感じで良いのでしょうか? SetEnvIf Referer "http://.*\.aaa\.com/" shutout 「.*」の前にも「\」が必要ですか? よろしくお願いいたします。