dev では、http://pukiwiki.sourceforge.jp/dev/?0 でアクセスできているので環境依存だと思いますが、 自分のローカル環境では上の形のURL で0 へ飛ばずにデフォルトページが表示されます。(http://pukiwiki.sourceforge.jp/dev/?cmd=read&page=0 の形では正しく表示されます)
cvs:lib/init.php (1.55) の該当部分を見たのですが、
///////////////////////////////////////////////// // QUERY_STRINGを取得 $arg = ''; if (isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING']) { $arg = & $_SERVER['QUERY_STRING']; } else if (isset($_SERVER['argv']) && ! empty($_SERVER['argv'])) { $arg = & $_SERVER['argv'][0]; }
if (isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING']) の後半の条件で文字列"0" をFALSE 判定して、取り込んでくれないのが原因みたいです。
encode_hint のように比較演算子を使って$_SERVER['QUERY_STRING']を判定する形にするとうまくいきました。
$arg = ''; if (isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING'] != '') { $arg = & $_SERVER['QUERY_STRING']; } else if (isset($_SERVER['argv']) && ! empty($_SERVER['argv'])) { $arg = & $_SERVER['argv'][0]; }