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 的白色西里尔字符除外。我在我面前阅读了很多问题,并尝试了不同的解决方案,例如:

在核心/输入/ _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 放入配置中时,所有西里尔字母都可以正常工作。

已解决- 我只是将 .htaccess 文件中的文本更改为:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

现在evriting工作正常:)

4

0 回答 0