さくらインターネットに設置したEthnaで、
最新版で追加されたUrlHandlerという機能を使おうとしたら動かない。
http://ethna.jp/ethna-document-dev_guide-urlhandler.html
30分くらいソースを追いながら試行錯誤していたら、
PATH_INFOのデータが取れていないっぽいことが判明。
さくらインターネットで、PATH_INFOのデータを取るには
$_SERVER['PATH_INFO']ではなくて$_SERVER['ORIG_PATH_INFO']じゃないとだめだった!
ということを思い出して、$_SERVER['PATH_INFO']を使っている箇所を変更したら簡単に動きました。
Ethna_Controller.phpの1100行目。
本当は直接書き換えない方がいいんだろうけど。
-$tmp_vars['__url_info__'] = isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : null; +$tmp_vars['__url_info__'] = isset($_SERVER['ORIG_PATH_INFO']) ? $_SERVER['ORIG_PATH_INFO'] : null;
ハマったけど、UrlHandlerの仕組みが理解できたからよかったかな。