この動作がCodeIgniterで100%サポートされているかどうかを確認したいと思います。
私を疑うconfig.php
のpermitted_uri_chars
は、次のとおりです。
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
英語の文字のみが許可されていると書かれています。ただし、次のURLの結果を考慮してください。
http://localhost/codeigniter/index.php/controller/method/hell0-there+++
結果:The URI you submitted has disallowed characters.
http://localhost/codeigniter/index.php/controller/method/hello-سلام
結果:問題ありません!!!
単語سلام
(ペルシア語で「こんにちは」を意味します)はパターン'a-z 0-9~%.:_\-'
で受け入れることができませんが、前の例のようにエラーにはなりません!
なぜこの動作が発生するのですか?
次の質問:パターンにペルシア文字を追加して含める必要がありますか?
私はconfig.php
このように変更することを考えていました:
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
// Add all the persian characters after standard pattern:
$config['permitted_uri_chars'] .= 'آابپتثجچحخدذرزسشصضطظعغفقکگلمنوهیي۱۲۳۴۵۶۷۸۹۰';