« Musical Baton | メイン | 遅くにモスに行ってきた »
2005年06月23日
mt-com.cgi からのリダイレクト
以前、スパム対策に mt-comment.cgi を mt-com.cgi にリネームするという方法を採用していたなおですが、再インストールで元のファイル名に戻してしまいました。
アクセスログを見ていると、いまだに Google は mt-com.cgi となっていたので、リダイレクトすることにしました。
はじめは、普通に .htaccess を使おうと思ったのだけど、これだとコメントのページにたどり着けない。ということで、わざわざ mt-com.cgi という CGI を作成しました。
#!/usr/bin/perl
use strict;
my $id;
foreach (split(/&/, $ENV{'QUERY_STRING'})) {
my ($name, $value) = split(/=/);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
if ($name eq 'entry_id') {
$id = $value;
$id =~ s/\D//g;
last;
}
}
print "Status: 301 Moved Permanently\n";
if ($id) {
printf "Location: http://hostname/archives/%06d.html\n\n", $id;
} else {
print "Location: http://hostname/\n\n";
}
exit;
普通にリダイレクトしてるだけだから、エントリーを削除とかやってるとダメです。まぁ。Google のロボット対策みたいなもんですね。
2005年06月23日 22:15 | Programming