« 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

トラックバック

コメント