デフォルトでは、CodeIgniter は URL に表示される %27 (') をブロックします。その結果、 $config['permitted_uri_chars'] ディレクティブ全体をコメントアウトしました。しかし、URL の一部を %27 またはその他の URL エンコード部分を含むメソッド引数として解析している場合、CodeIgniter は rawurledcode() を実行する前にそれをプレーンな ? に変換します。これをやめさせるにはどうすればよいですか?CI v1.7.x を使用しています。
これを示す簡単なコードを次に示します。
「プログラム」コントローラで:
function test($parameter)
{
echo $parameter;
}
次に、 http://example.com/program/test/o%27clockをロードすると、次のようになります。
o?clock
私は予想o'clock
したか、少なくともo%27clock
rawurldecode() を使用して取得できo'clock
ました。
更新: 残念ながら、私は間違っていました。CodeIgniter が原因ではありませんでした。むしろ、スホシンの存在が代用をしていた。