PukiWiki静的URL改造 †→こちらの記事が最新です。 →cubic9さんがパッチ等の情報を提供されています。 参考リンク †通常、PukiWikiのURLは http://xxx.yyy.zz/PukiWiki.php?(キーワード) のようなURLとなり、google等でロボットから検索されにくいようです。 http://xxx.yyy.zz/(キーワード).html のようなURLの方がサーチエンジンに登録されやすいようです。 .htaccessの設定 †以下の.htaccessを作成して、~/public_html以下に置きます。 DirectoryIndex index.php pukiwiki.php
LayoutIgnoreURI *
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]*)\.html(#.*)?$ /pukiwiki.php?plugin=pgid&id=$1$2
これで、上記のようにURLを静的なものに書き換えることができます。 pukiwikiソースの変更 †上記で静的URLでアクセスできるようになるのですが、ページを作成する際に括弧くくりでリンクを作成することができなくなるため不便です。 以下のようにソースを修正すると、上記mod_rewriteに対応したリンクを作成することができます。 [[pukiwikifoo]] →このブラケットネームが以下のようにhtml展開されます。 http://xx.yy.com/pukiwikifoo.html 上記mod_rewriteとあわせると、ロボットには、pukiwikifoo.htmlページがあるかのように見えます。
変更箇所:486行付近の以下のクラス内 // BracketName class Link_bracketname extends Link toString()メソッドがこのようになっているので、 function toString()
{
return make_pagelink(
$this->name,
$this->alias,
$this->anchor,
$this->page
);
}
このように書き換えます。 function toString()
{
$link_result = make_pagelink(
$this->name,
$this->alias,
$this->anchor,
$this->page
);
//ここで、作成したURLの変換を行う。
$link_result = preg_replace("/pukiwiki\.php\?(.*)\"
title=/", "$1.html\" title=", $link_result);
return $link_result ;
}
それほどテストをしていないので改造は自己責任でお願いします。 参考リンク † |