2

この動作がCodeIgniterで100%サポートされているかどうかを確認したいと思います。

私を疑うconfig.phppermitted_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'] .= 'آابپتثجچحخدذرزسشصضطظعغفقکگلمنوهیي‌۱۲۳۴۵۶۷۸۹۰';
4

3 に答える 3

2

非ASCII文字はURLEncodedで、%F3etcに変換する必要が%あります。a-z 0-9

于 2012-02-20T21:31:49.513 に答える
1

このように使用し、構成ファイルを変更します。

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-|آ-ی';

このようにして、「Hamze」を除くすべての文字をサポートします。また、「Hamze」をサポートする場合は、次のように変更できます。

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-|آ-یء';
于 2015-02-20T07:28:58.153 に答える
1

私はあなたの質問を読んだばかりです、そしてそれは私が到達した簡単な答えを持っています!答えは:

$route[urlencode ('ورود-به-حساب-کاربری')] = 'Login';

あなたが言ったようにあなたはあなたの設定ファイルを操作する必要はありません!したがって、このコード行を自分route.phpにも設定するだけで済みます。わたしにはできる。

于 2016-11-23T22:58:45.313 に答える