古い記事
ランダムジャンプ
新しい記事
クローラやケータイによっていろいろと内容を切り替えたい場合がある。
例えば、Googlebot が大量に来たときに暫定的に Google のトップページに飛ばしたりとか(嫌がらせ?)。
実現方法はいろいろあるんだけどここでは自分でコピペする用に Perl CGI の雛形を載せておく。
アマゾンを例に飛ばし先(リダイレクト先)を切り替える例。
切り替え部分は随時追加予定。

#!/usr/bin/perl -T
use strict;
use warnings;
print "Content-Type: text/html\n";
my $qs = $ENV{'QUERY_STRING'} || "";
my $ua = $ENV{'HTTP_USER_AGENT'} || "";
my ($asin, $aid) = $qs =~ /^([0-9B][0-9A-Z]{9})(.*)$/;
$aid = "tatsuo-22" unless $aid;
if ($asin eq "") {
  print "\n";
  exit;
}
my $url = "http://www.amazon.co.jp/o/ASIN/$asin/$aid"; # USER default 
if ($ua =~ /Slurp/) { # CRAWLER Y 
  $url = " ... ";
} elsif ($ua =~ /Y!J-(SRD|MBS)/) { # CRAWLER YJ mobile
  $url = " ... ";
} elsif ($ua =~ /Googlebot\//) { # CRAWLER G
  $url = " ... ";
} elsif ($ua =~ /Googlebot-Mobile/) { # CRAWLER G mobile
  $url = " ... ";
} elsif ($ua =~ /msnbot/) { # CRAWLER bing
  $url = " ... ";
} elsif ($ua =~ /bot|craw|spid/i) { # CRAWLER other 
  $url = " ... ";
} elsif ($ua =~ /J-PHONE|SoftBank|Vodafone|DoCoMo|KDDI|WILLCOM/) { # USER mobile
  $url = " ... ";
}
print "Location: $url\n\n";

ref.
- [を] Webサイトをケータイからのみアクセス可能にする方法[2008-01-09-4]
- [を] 同じコンテンツを指す複数のURLをクローラーが来たときだけ一つにまとめる[2007-06-02-1]
- [を] 2ページ目以降のクローラ拒否[2010-03-01-3]
この記事に言及しているこのブログ内の記事