Weblog

blosxomと404 #2

Posted at 2004-03-07T08:49:00+09:00 in Blosxom

やはり存在しないエントリにアクセスしようとした場合、Statusで404 Not Foundを返したい。いろいろやってみて、404 Not Foundを返しつつ、サイトの独自404ドキュメントと同じものを出力するようにできました。かなり怪しいというか強引。

改造するところはblosxomと404で改造したところと同じで、オリジナルのままだと394行目辺り。そこに以下のコードを挿入します。

# No matching entries treated as a 404 Not Found
if ($ne eq $num_entries) {
  if (open(FH, "/www_root/john/public_html/404.html")) {
    print header(
      -type    => 'text/html',
      -charset => 'UTF-8',
      -status  => '404 Not Found',
    );

    foreach (<FH>) {
      print $_;
    }

    close(FH);
  } else {
    print redirect("http://example.com/john/404.html");
  }

  exit;
}

サイトの独自404ドキュメントを開いた後、Statusヘッダを追加してヘッダを普通に出力。その後、サイトの独自404ドキュメントの中身をそのまま出力してやるという感じ。ファイルを開くのに失敗した時は、redirectでフォロー。

マジで強引過ぎ。てか、これで良いのか?やりたいことは出来ているので良いことにしよう。

Recent entries from same category

同じカテゴリに分類された最近10件のエントリです。

  1. 不明なflavour回避パッチの問題点
  2. 使用しているプラグイン
  3. はてなブックマークでつけられたコメントをblosxomにインクルード
  4. blosxomサイトの日本語訳
  5. interpolate_fancyプラグインの使い方
  6. blosxom plugin: ufyu
  7. SourceForge.netで開発されているblosxomはv2.0.2に
  8. push_if_first plugin
  9. paging plugin更新 #8
  10. エントリの日付と時刻をW3CDTFで

Comments

JavaScriptに対応または有効な環境の場合、ここにはてなブックマークでのこのエントリに対するコメントが表示されます。

Weblog archives

by Category

This page was last modified on 2004-05-03T22:19:29+09:00 (in 0.098 secs).