最近は全くといっていいほどリファラスパムの襲来が無いのですけど,かなり前には大量にありました。viagra だとか casino だとか etc etc. そんな煩いリファラスパムを .htaccess で deny はしているのですが,そのまま鸚鵡返しにしたい気分に駆られましてこんなコードを書いてみました(設定はしていません):
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{REQUEST_URI} .*plasticdreams.org.*
RewriteCond %{HTTP_REFERER} !.*casino.*
RewriteCond %{HTTP_REFERER} !.*viagra.*
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
</ifmodule>
Apache の中の人とか .htaccess のエライ人とか mod_rewrite の魔術師の中の人と書いたら添削お願いします。
RewriteCond %{HTTP_REFERER} !.*casino.*
のところって
正規表現使ってエラー出ないのかな?
RewriteCond は正規表現バリバリ OK なので大丈夫でしょう。むしろこれがダメですね。REQUEST URI にホスト部は入らないから、マッチしてくれないと思います。あと 301 の Redirect じゃなくて、403 Forbidden にしてはどうでしょう。
ワオ,ありがとうございます
テスト環境に入れて試してみてうまくいったらこの環境に入れて試してみます :d
やっぱ301じゃなく403の方がいいのかー。