0

次のような「許可されていないキー文字」というメッセージがあります。

/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 は正常に動作します :)

4

0 に答える 0