二つ前のエントリーに書いたように、URLが変わる記事アーカイブが大量に発生したので、大量にリダイレクトさせるhtmlを作らないといけない羽目になったわけですが、ちまちま手動で1000個以上もファイルを作っていられないので、どうやったら楽にできるか考えてみた。
リダイレクトさせるためのhtmlの記述内容は、
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
<title>アーカイブのURLが変わりました。3秒後に変更先にリダイレクトします。</title>
<meta http-equiv="Refresh" content="3; URL=
リダイレクトさせる先のURL
">
</head>
<body>
<center>アーカイブのURLが変わりました。<br>3秒後に変更先にリダイレクトします。</center>
</body>
</html>
なんて感じで書けば良い訳です。
前半の5行(リダイレクトさせる先のURLより前の部分)をtop.txt、最後の6行(リダイレクトさせる先のURLより後の部分)をend.txtとかに書いておき(今回はエンコードを指定する必要があるので、sakura editorのようなエンコードを指定して保存できるエディタを使うと良い)、生成するhtmlファイルに書き出せば簡単です。
Macでどうやってやるかは分かりませんが、Windowsならコマンドプロンプトを開いて、
1)type top.txt>>xx_yy_zz.html
2)echo>>xx-yy-zzhtml
3)type end.txt>>xx_yy_zz.html
とやると、xx_yy_zz.htmlにアクセスしたらxx-yy-zzhtmlにリダイレクトさせるためのhtmlファイルができあがります。
で、1、2、3を繰り返せば良いですが、これも手間なので一気に片付けるため、まずリダイレクトさせる必要があるファイルの一覧をつくります。
今回の場合なら、「_」の含まれるファイルの一覧がそれにあたるので、コマンドプロンプトで、
dir /b /s *_*>list.txt
なんてやると、「_」の含まれるファイル名の一覧がlist.txtに書き出されます。
これをexcelで開いて左に一列入れ、その列全部を「type top.txt>>」にしてcsvで保存します。
今度はそのcsvファイルをエディタで開いて、「,」を全置換で消して保存し、ファイルの拡張子をbatに変更して実行すれば、1の手順が終了したファイルの山ができることになります。
同じようなやり方で2、3の手順を終えればリダイレクト用のhtmlができあがるので、webサーバにアップすればめでたく終了と相成ります。
というわけで、今回は1158個のファイルを作るのにどんだけ時間がかかるんだと思っていましたが、上に書いたようなどろくさいやり方で10分程度で終わりました(笑