codeigniter 1.7不允许的关键字符西里尔字符

时间:2013-06-13 11:07:50

标签: codeigniter codeigniter-url

我按下“禁止关键字符”这样的网址:

/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的whit cyrillic字符很好。 我在此之前为此阅读了许多问题,并尝试了不同的解决方案,如:

核心/ 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放入配置中所有工作时丝毫西里尔文没有问题。

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

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

现在evriting工作正常:)

0 个答案:

没有答案