我有一個將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的字符串。
:)
(附註:光明節快樂&結婚聖誕節)
由於這一問題的援助