«前の日記(2005-11-20 (日)) 最新 次の日記(2005-11-22 (火))»  

まちゅダイアリー


2005-11-21 (月)

PukiWiki で静的リンク

静的コンテンツに偽装 - cubic9.com を参考に、 PukiWiki で運用中の Wiki サイトを静的リンクにしてみた。

http://example.com/?FrontPage

というページが、

http://example.com/FrontPage.html

という URL でアクセスできるようになる。 この目的は2つ。どちらも Google 関係というのがなんとも。

  • Google Analytics で人気のページを確認できる。
  • ページランクが上がる(かもしれない)。

cubic9.com で公開されているパッチでは、いくつかのファイルに修正が加わっている。でも、 1.4.5 のパッチが無いことと、あまり多くのファイルを修正したくないことを考えて、最小限の修正だけで実現するようにした。

lighttpd.conf の修正

「/*.html」の URL を「/index.php?*」に変換する設定を加える。

url.rewrite                = ( "^/(.+)\.html$"    => "/index.php?$1" )

PukiWiki の修正

修正箇所は 2 ファイル。繰り返しになるけど、 cubic9.com に書かれているパッチを適用しただけ。

--- func.php.org        Mon Nov 21 23:49:25 2005
+++ func.php    Mon Nov 21 23:50:18 2005
@@ -695,4 +695,11 @@
                return md5($data);
        }
 }
+
+// PukiWikiの階層をディレクトリに偽装
+function anchor_replace($anchor)
+{
+  return str_replace('%2F', '/', $anchor);
+}
+
 ?>
--- make_link.php.org   Mon Nov 21 23:47:12 2005
+++ make_link.php       Mon Nov 21 23:54:05 2005
@@ -703,7 +703,8 @@
                // Hyperlinks
                $passage = get_pg_passage($page, FALSE);
                $title   = $link_compact ? '' : ' title="' . $s_page . $passage . '"';
-               return '<a href="' . $script . '?' . $r_page . $anchor . '"' . $title . '>' .
+    # return '<a href="' . $script . '?' . $r_page . $anchor . '"' . $title . '>' .
+               return '<a href="' . $r_page . '.html' . $anchor . '"' . $title . '>' .
                        $s_alias . '</a>';
        } else if (PKWK_READONLY) {
                // Without hyperlink (= Suppress dangling link)

追記

やっぱり寝ぼけていた。 func.phpの修正は不要で、make_link.phpだけ変えればいい。

--- make_link.php.org   Mon Nov 21 16:47:12 2005
+++ make_link.php       Tue Nov 22 12:29:02 2005
@@ -705,3 +705,3 @@
                $title   = $link_compact ? '' : ' title="' . $s_page . $passage . '"';
-               return '<a href="' . $script . '?' . $r_page . $anchor . '"' . $title . '>' .
+               return '<a href="' . $r_page . '.html' . $anchor . '"' . $title . '>' .
                        $s_alias . '</a>';
Tags: Wiki lighttpd

Wiki小話 第三回

Wiki小話に行ってきた。所用により8時半くらいに会場に到着。 yucoさんによるとNTさんのレポートがよくまとまっているとのこと。 なので(言い訳)、印象に残った内容だけ。

  • Wiki 記法が、構造化を目的としてテンプレートを分離したものと、コラボレーションを目的としてシンプルにしたものに分かれてきている。前者は Google Base っぽい?とのツッコミあり。
  • eto さんによる Wiki に Java スクリプトを組み合わせたデモが、意外とウケたらしい。
  • Wiki Gateway (Wiki のフロントエンド)
    • MoinMoin, MediaWiki のインタフェースをサポート
    • UNIX ライクなインタフェース (cp, ls, cat). Wiki の違いを意識せずに使えるように。
    • Wiki の世界における Samba のような役割。
    • ゲートウェイでインタフェースを統一すれば、Wiki フロントエンドができる。
    • 統一化は機能をスポイルするのではとのツッコミあり。
  • WikiSym より Wiki 博覧会のほうが面白かった。
    • 日本の Wiki もなかなかいけてる。

新宿は帰りが大変…。

Tags: Wiki