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>';