PukiWiki で静的リンク
2005-11-21
静的コンテンツに偽装 - 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>';