我有一个将URL作为参数的控制器。该URL有正斜杠和一个查询字符串,它看起来是这样的:使用CI编码传入URL的URL编码
http://example.com/foo?bar=baz&bar2=baz2
的问题是,该URL来未编码,也没有办法,我可以改变这种状况。(忘了提,其实我可以编码前手的URL,那肯定会改变一切)
我想它击中我的控制器,然后我想回声出页面上此网址前编码的URL。
是否codeigniter有任何内置的方法或什么.htaccess
规则我需要设置来处理这个?
我有一个将URL作为参数的控制器。该URL有正斜杠和一个查询字符串,它看起来是这样的:使用CI编码传入URL的URL编码
http://example.com/foo?bar=baz&bar2=baz2
的问题是,该URL来未编码,也没有办法,我可以改变这种状况。(忘了提,其实我可以编码前手的URL,那肯定会改变一切)
我想它击中我的控制器,然后我想回声出页面上此网址前编码的URL。
是否codeigniter有任何内置的方法或什么.htaccess
规则我需要设置来处理这个?
砍死周围一点点,想通了:
你要做的就是编码网址为Base64
base64_encode($uri)
;
如果在URI消息中出现不允许的字符,请转至application/config/config.php
并将$config['permitted_uri_chars']
设置为接受问题字符。在我的情况下,我需要启用=
我的参数。
最后设置PARAM看起来是这样的:
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-='; //added = sign to permit to enable base64 encode
在控制器端
我只是有一个echo base64_decode($url);
这样我可以通过几乎任何字符串到URL段和它的作品。
URL段将被编码为一系列数字和字母,并转换为在其中编码了URI的字符串。
:)
(附注:光明节快乐&结婚圣诞节)
由于这一问题的援助