こないだ自分用にメモしたURLのRewritingをやることにした。
これまでdjkaz.comをtumblrに飛ばして、そこではBlogとPhotoBox二つ、合計三つ分のRSSを束ねて表示ということをしていたのだが、自宅サーバーを復活させるにあたって、djkaz.comをそっちへ向けることにした。
で、一日くらい経ってからログを見たら、Googleのボットが頻繁にやってきて、tumblrにあったファイルへアクセスしていく。試しに検索してみたら、tumblrのページが400件近くインデックス化されていた。Blog本編より多い(苦笑)。これを404としてみすみす捨ててしまうはもったいないな〜と思ったわけだ。
さて、今回参考にしたのは、mod_rewrite サンプル集。
やりたいのは、
djkaz.com/post/* → djkaz.tumblr.com/post/*
djkaz.com/page/* → djkaz.tumblr.com/page/*
という二つ。まずは、
/etc/httpd/httpd.conf
をsudoでバックアップ後に開いて、この部分を探す
------
<ifmodule mod_rewrite.c="">
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
</ifmodule>
------
ここをのRewriteRuleに以下二行を追記、
------
RewriteRule ^/post/(.*)$ http://djkaz.tumblr.com/post/$1
RewriteRule ^/page/(.*)$ http://djkaz.tumblr.com/page/$1
------
./post 配下と ./page 配下を、http://djkaz.tumblr.com/の下にある同じディレクトリー名の場所へ飛ばすというもの。あとは、Web共有を再起動で完成。
試しに、
http://djkaz.com/post/50571082
へアクセスしてみると、
http://djkaz.tumblr.com/post/50571082
が返される。これでGoogleの検索結果を失うことなく、リダイレクトができるようになったわけだ。