-
Array ( [logging] => [path_info_array] => SERVER [path_info_key] => PATH_INFO [relative_url_root] => [formats] => Array ( [txt] => text/plain [js] => Array ( [0] => application/javascript [1] => application/x-javascript [2] => text/javascript ) [css] => text/css [json] => Array ( [0] => application/json [1] => application/x-json ) [xml] => Array ( [0] => text/xml [1] => application/xml [2] => application/x-xml ) [rdf] => application/rdf+xml [atom] => application/atom+xml ) [no_script_name] => 1 )
[OpenPNE3]3.0.0のindex.phpを消す
prod環境のno_script_nameがonになってるのにindex.phpが消えないOpenPNE3ですが、果てしない旅の結果、ただのバグでした。
旅の経路:
- UrlHelper内link_to()関数
- UrlHelper内url_for()関数
- sfWebController->genUrl()メソッド
- sfPatternRouting->generate()メソッド
- sfRouting->fixGeneratedUrl()メソッド
- cache内config_factories.yml.phpファイル
- sfOpenPNEWebRequest->__construct()メソッド
- sfRequest->__construct()メソッド
- sfWebRequest->initialize()メソッド
- sfOpenPNEWebRequest->initialize()メソッド
で、sfWebRequest->initialize()とsfOpenPNEWebRequest->initialize()を比較した結果、sfOpenPNEWebRequest->initialize()の第4引数がないことに気付きました。第4引数$optionsを追加して、試しに$optionsの内容をprint_rしたところ、
TEXT:
と、no_script_name => 1が伝搬されてきました。あとは、これをparent::initialize()の第4引数として渡してやると、無事にindex.phpが消えました。
結論:
sfOpenPNEWebRequest.class.phpのsfOpenPNEWebRequest->initialize()メソッドを
php:
から
php:
に変えるだけ。たぶんOpenPNE3.0.1とかでは既に治ってると思います。
2 Responses to “[OpenPNE3]3.0.0のindex.phpを消す”
Comments RSS
TrackBack Identifier URI
コメントをどうぞ

OpenPNE開発チームの海老原です。ご報告いただきありがとうございます!
http://trac.openpne.jp/changeset/10592
で修正したのでご確認いただければと思います。
確認しました!素早い対応ありがとうございます