geeklogハック
config.phpにてurl_rewriteをtrueにしている場合、
foo.php?f=aaa
は
foo.php/aaa
となるが、この場合、
foo.php/aaa/bbb
は、ちゃんと"aaa"と"bbb"が値だと認識している。しかし、"aaa/bbb"として取得したい場合は、以下のようにする必要がある。
require_once('lib-common.php'); .... if (isset ($_POST['f'])) { $f = COM_applyFilter($_POST['f']); } else { // $_URLというurlクラスがlib-common.php内で作成される。 // このクラスにはちょうどいいメソッドがないので // インスタンス変数をじかにいじる。 $_URL->_arguments = array(implode("/", $_URL->_arguments)); // 以下は取得した値の数より少ない配列の場合エラーになるので // 事前に上記を行うこと。 COM_setArgNames(array('f')); $f = COM_applyFilter(COM_getArgument('f')); }