.htaccessによるリダイレクトをしたこと
午前4時30分起用。浅草はくもり。「モモログ4」を再構築したのだが、ふと気がつくとURLが以前のものと変わっていたのだ。いやこれはまずいぞ、とお茶を飲みながら考えていたのだが、思い切って.htaccessによるリダイレクトをすることにした。
以前のファーストサーバはまだ生きているので、古いURLを全部吐き出した。下記の通り「URL出力」(なんでも良いのだが)という名前でインデックステンプレートを新規作成し、ファイル名は「index2.txt」(これもなんでも良いのだが)で再構築。それをFTPで取得した。
<MTEntries lastn="0">
<$MTEntryPermalink$>
</MTEntries>
カゴヤの方も同じく「index3.txt」で出力。それぞれをExcelに貼り付けた。ここまではあたしの脳梗塞頭脳でも考え付くのだが、これからが問題だった。つまり.htaccessによるリダイレクトの定型文は下記のようになるのだが、はたしてどうやって書換えようか、なのである。
Redirect permanent /blog4/2014/11/post-649.html http://www.momoti.com/blog4/2014/1114_073157.html
まずは http://www.momoti.com/blog4/201▲/××/post-○○○.html と書かかれた古いURLを Redirect permanent /blog4/201▲/××/post-○○○.html と書き換えなくてはならない。それが約670件もある。
ということでExcelの関数を使用した。=SUBSTITUTE(text.old,text.new,text.instance_num)である。それを=CONCATENATE (text1,text2,...)で一つの文書にまとめた。
これで大丈夫かと思い、出来上がった文をコピー&ペーストで、インデックステンプレートに新規作成した.htaccessにそのまま書き込んだのである。
再構築後アクセスしてみれば何とエラー。何故かな、と考えてみれば、前の文書と後に文書の間に隙間がなかったのだ。それでそこの隙間を入れるのを全部手動で2時間程掛けて行ったのである(とほほ)。