次のような「許可されていないキー文字」というメッセージがあります。
/project/category/Португалски
URLにラテン文字のみが含まれている場合、問題はなくなりました。
index.php を削除すると問題が発生します。削除するために使用します
config.php :
$config['index_page'] = "";
と
.htacces
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?$1 [L]
この URL の正常な動作の後、この URL のキリル文字は除外されます。私はこれについて多くの質問を前に読み、次のようなさまざまなソリューションを試しました。
core/input/ _clean_input_keys 関数で変更します
if ( ! preg_match("/^[a-z0-9:_\/-]+$/i", $str))
to
if ( !preg_match("/^[a-z0-9а-яА-Я~%:_\/-]+$/i", $str))
この式の他のバリアントを試しましたが、結果は同じです。config.php で変更します:
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_-';
to
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-а-яА-Я';
after this i tried
$config['permitted_uri_chars'] = 'a-zA-Z\p{Cyrillic}0-9~%.:_\-';
結果シルは同じです。「許可されていないキー文字」をマッサージします。.htaccess rile を削除して index.php を設定に戻すと、すべて問題なくキリル文字で動作します。
解決済み - テキストin.htaccessファイルを次のように変更するだけです。
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
これで、evriting は正常に動作します :)