|
楼主 |
发表于 2011-8-3 17:23:56
|
显示全部楼层
本帖最后由 kunwsk 于 2011-8-3 17:46 编辑
php就是用urlencode或 rawurlencode URL 进行编码
如果方法一:
$str =urlencode('我是');
echo "<a href=\"act/m/$str\">show</a>";
发现url跳转还是 http://localhost/index.php/act/m/我是
CI 就会拦截报url非法错误
方法二:
$str =urlencode(urlencode('我是'));
echo "<a href=\"act/m/$str\">show</a>";
发现url跳转变了 http://localhost/index.php/act/m/%25E6%2588%2591%25E6%2598%25AF
CI不会拦截。
第二次符合了$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
如果你用echo $str;
会发现其实第一次他已经变了 :%E6%88%91%E6%98%AF
但是为什么放到<a>标签中的 href中他就被还原了。
|
|