QUERY_STRING を取得できない場合がある

メッセージ

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];
}


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-04-18 (土) 20:15:40
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.496 sec.

SourceForge