携帯向けサイト用 mod_rewrite設定

IP制限するのが一番確かだが、運用コストが高いので、必要がなければ UserAgent で制限をかければ充分かと思った。

mod_rewrite

# Trace and Track off
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .*$ - [F]
# robots.txt is free
RewriteEngine on
RewriteCond %{REQUEST_URI} robots.txt$
RewriteRule ^.* - [L]
# limit access by UserAgent
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} !^DoCoMo/
RewriteCond %{HTTP_USER_AGENT} !^UP\.Browser/
RewriteCond %{HTTP_USER_AGENT} !^KDDI-
RewriteCond %{HTTP_USER_AGENT} !^J-PHONE/
RewriteCond %{HTTP_USER_AGENT} !^Vodafone/
RewriteCond %{HTTP_USER_AGENT} !^SoftBank/
RewriteRule ^.* - [F]

ポイントは、robots.txt へのアクセスは許可しておくこと。
そして、robots.txt で PC向けの bot にご退去願う(実際はなかなか退去してくれないが)。

robots.txt

User-agent: msnbot
Disallow: /

User-agent: Yahoo! Slurp
Disallow: /

User-agent: Googlebot
Disallow: /

User-agent: Baiduspider
Disallow: /

robots.txt でことたりなければ、本気で弾いてしまえば良い。