DrupalでのURL転送

Drupalの管理画面でlogを見ていると、結構Page Not Foundで落とされてしまうケースが多い事に気づいた。
このblogのようにシステムを移行して、Permalinkが変わってしまった場合にはこんなことは起こるだろう。(特に、Movable TypeのURLの仕組みはかなりアレだったから、このblogはURLの体系が何回か変わっている)

DrupalのDBには、url_aliasというテーブルがあって、ここに旧URLと新URLを入れてあげるとフォワードしてくれる。

  • url_alias.src には今のDrupalのpermalink(たとえば”node/25″)
  • url_alias.dst には昔のpermalink(たとえば “2005/12/hoge.html”)

なので、ログを見ながら,対応できるのはDBに直接insertしてあげるといいかもしれない。

注1: 当然ながら、ドメイン名はシステム移行前と同じである事が前提。
注2: Page Not Foundになるようなリクエストってのは、SPAMbotによるものも結構ある。だから、フォワードすることが必ずしもいい結果を生むとは限らない。