preg_quote が犯人だった
PHPのバージョンを上げたら、アプリが動かなくなった。
CodeIgniter1.7が使ってあったんだけど、
The URI you submitted has disallowed characters.
というメッセージが出てどうにもならず、
いっしょうけんめいApacheやPHPの設定を調べてたんですが 原因はCodeIgniterの方でした…。
というか PHPの preg_quote関数。
PHP5.3.0からしれっと仕様変更されてて、それが引っかかってた。
「- 文字がクォートされるようになりました。」
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
という変数で - 文字をクォートすると、そりゃ たいていのURIは disallowedになっちゃうよ。
2時間返せw