*PukiWiki with PATH_INFO 要は pukiwiki で path_info を見るようにする改造。適当。 PHP の知識はあるものとします。 **スクリプトの変更部分 ***init.php -pukiwiki ルートディレクトリ内の php ファイルで // QUERY_STRINGを取得 if (array_key_exists('QUERY_STRING',$_SERVER) and $_SERVER['QUERY_STRING'] != '') { $arg = $_SERVER['QUERY_STRING']; } else if (array_key_exists('argv',$_SERVER) and count($_SERVER['argv'])) else if 以下の部分を下のように変更 } else if (array_key_exists('PATH_INFO',$_SERVER) and $_SERVER['PATH_INFO'] != '') { $arg = preg_replace("/^\/*(.+)\/*$/","$1",$_SERVER['PATH_INFO']); } else if (array_key_exists('argv',$_SERVER) and count($_SERVER['argv'])) ***make_link.php -先頭に以下を追加 function rurlencode($uri) { $parts = explode('/', $uri); for ($i = 0; $i < count($parts); $i++) { $parts[$i] = rawurlencode($parts[$i]); } return implode('/', $parts); } -以下を探し出して $this->url = ($url === FALSE) ? $script.'?'.rawurlencode('[['.$name.':'.$this->param.']]') : htmlspecialchars($url); 以下のように変更 $this->url = ($url === FALSE) ? $script.'/'.rurlencode('[['.$name.':'.$this->param.']]') : htmlspecialchars($url); -その他の rawurlencode を rurlencode に置換。 --関数 make_pagelink() 内の $r_refer = ($refer == '') ? '' : '&refer='.rawurlencode($refer); はそのまま。 ***html.php -function catbody 内の以下のパスを変更 $link_top = "$script/".rurlencode($defaultpage); $link_whatsnew = "$script/".rurlencode($whatsnew); $link_help = "$script/".rurlencode($help_page); -上の一連の直後に以下を追加 $r_page = rurlencode($_page); -その他の関数内の rawurlencode を rurlencode に置換。 --catbody() 内の一連の $link_... 前の rawurlencode はそのまま。 --make_search() 内の rawurlencode はそのまま。 -$script?$r_page となっている部分を $script/$r_page に置換。 ***skin/pukiwiki.skin.ja.php -img タグ等の src を絶対パス指定に変更。 (ex. src="./image/new.png" → src="/image/new.png" ) -$script?$r_page となっている部分を $script/$r_page に置換。 **あとpluginからも適当に探し出して置換。 -attachとかrefとか。 -recent も。