用户
 找回密码
 入住 CI 中国社区
搜索
查看: 8996|回复: 14
收起左侧

[库 Library] 让CI的URL支持中文

[复制链接]
发表于 2008-12-25 19:59:55 | 显示全部楼层 |阅读模式
最近的一个项目中

需要用到 类似

http://localhost/index.php/a/b/%E8%BD%A6



http://localhost/index.php/a/b/车

这样的url

发现 CI的 默认设置

PHP复制代码
$config['permitted_uri_chars'] = 'a-z 0-9%~.:_\-';
复制代码


不能传递参数

于是 修改了一下 现在可以支持中文

步骤1:
修改 system\libraries\URI.php 第189行

PHP复制代码
if ( ! preg_match("|^[".preg_quote($this->config->item('permitted_uri_chars'))."]+$|i", $str))
复制代码




PHP复制代码
if ( ! preg_match("|^[".$this->config->item('permitted_uri_chars')."]+$|i", $str))
复制代码


步骤2:
修改 system\application\config\config.php
PHP复制代码
$config['permitted_uri_chars'] = 'a-z 0-9%~.:_\- ';
复制代码



PHP复制代码
$config['permitted_uri_chars'] = 'a-z 0-9%~.:_\- \x80-\xff';
复制代码


然后测试一下吧...

是不是可以啦 :)

PS: 如果要另外修改规则 请慎重

评分

参与人数 1威望 +5 收起 理由
Hex + 5 原创内容

查看全部评分

发表于 2008-12-26 10:07:37 | 显示全部楼层
给你个文件,实现一样的效果~ 看~ http://showcr.com/index.php/search/result/guide/外商%20投资/0
不用修改任何一个地方~
放在\system\application\libraries下

MY_URI.rar (349 Bytes, 下载次数: 239)

[ 本帖最后由 pp18180058 于 2008-12-26 10:14 编辑 ]

评分

参与人数 1威望 +3 收起 理由
Hex + 3 我很赞同

查看全部评分

发表于 2008-12-26 10:23:01 | 显示全部楼层
支持 2 楼的方案!
发表于 2009-1-5 16:45:51 | 显示全部楼层

1.7.0版好像不行

你们这个是什么版本的
发表于 2009-2-5 15:53:52 | 显示全部楼层
我学习下
发表于 2009-2-6 18:16:24 | 显示全部楼层
你们这个是什么版本的
daijunzhong 发表于 2009-1-5 16:45

这个版本应该是 1.6.3 吧。
发表于 2009-2-8 15:43:56 | 显示全部楼层
顶顶,推荐用1.7.0,嗯
发表于 2010-4-12 10:30:55 | 显示全部楼层
1.7的杂用啊,谢谢啊,急 啊
发表于 2010-6-6 06:20:14 | 显示全部楼层
二楼方案测试通过1.72,非常不错
发表于 2010-6-6 16:28:42 | 显示全部楼层
不错的方法

本版积分规则