冬言響 / 日記

アメコミとか映画とか音楽とか猫とか単車とか自転車とか革とか銀とかジーンズとかブーツとか今日喰ったものとか。

RSS2.0

(無題)

どうでも良い話。ぐぐる様は動的な URI より静的な URI のがお好みだと聞いてたので、これまで日記の記事個別表示 URI は http://winterzeit.org/YYYY-MM-DD/ という形式でそれを .htaccess 使って内部で http://winterzeit.org/?date=YYYY-MM-DD に書き換えて処理してたのだけど、何か動的でも静的でも別に構わんらしいので無駄な処理は取りやめ。h2 見出しとかに仕込んだ URI も ht(略)t.org/?date=YYYY-MM-DD 形式に変更。

ただこれだけだとこれまでの余所のサイトからのリンクだとか検索サイトのインデックスだとかがデッドリンクになってしまうので、ht(略)t.org/YYYY-MM-DD/ へのアクセスは改めて ht(略)t.org/?date=YYYY-MM-DD にリダイレクト(内部でこっそりと、ではなく堂々と)、したいのだけど、どうも RedirectMatch でクエリ文字列を含む URI にリダイレクトさせようすると「?」がエスケープされてしまう様子。仕方無いので 404 Not Found だった時に表示される 404.php に手を加えて、ht(略)t.org/YYYY-MM-DD/ の URI でのリクエストが Not Found だった場合は 404.php から ht(略)t.org/?date=YYYY-MM-DD にリダイレクト、という事をやってみた。即ち、

  1. URI ht(略)t.org/2007-12-24/ へのリクエストが来る。
  2. サーバー「そんなリソースは無ェ。404 だ」
  3. .htaccess「404 か。よろしい、ならば 404.php だ」
  4. 404.php「URI の形式が ht(略)t.org/YYYY-MM-DD/ か。ならば ht(略)t.org/?date=YYYY-MM-DD へリダイレクトだ」
  5. サーバー「ht(略)t.org/?date=2007-12-24 か。それならある」
  6. ht(略)t.org/?date=2007-12-24 が呼び出される。

という流れ。なんかこれはこれで無駄な事やってる気もするが、さしあたってはこんな具合で。404 が返された時点でその URI は無効だという事は検索エンジンのロボットとかには伝わる筈なのであえて何か申請とかする必要は無いかな。

最初に ht(略)t.org/2007-12-24/ という存在しないリソースへのアクセスがあった時点で 404 が返されてるもんだと思ってたら、なんか 404.php から ht(略)t.org/?date=2007-12-24 へリダイレクトした事で 302 が返されてる様子。Location: ヘッダでリダイレクトしたら自動的に 302 が返されちゃうんですって! で、これはそれ以前に 3xx が返されてた場合は改めて 302 を返したりはしないそうなので先に 301 を返してみんとす。こうしとけばぐぐる様は ht(略)t.org/2007-12-24/ が ht(略)t.org/?date=2007-12-24 へ恒久的に移動した事を認識してインデックスし直しといてくれるって事なんかな? まあその方が良いと言えば言えるので、結果オーライということでひとつ。