[英]Pass GET param which is another URL with PHP - Codeigniter 3, Apache
我想像這樣在GET參數中傳遞URL:
網站網址/b16ee4f31e17df0d3af5?url=https%3A%2F%2Fwww.facebook.com%2F
我正在使用urlencode
來轉義字符,但由於該URL GET參數中的某些字符(在這種情況下為點字符),因此我看到此URL的403 Error
。
如果我使用CI3函數url_title
,它將轉義點字符,但是我需要它們,因為我需要GET參數中的有效url。
在某些情況下,我該如何傳遞URL get參數,例如. & ? \\
. & ? \\
. & ? \\
和其他可以在標准網址中找到的字符?
您可以在配置文件中更改$config['permitted_uri_chars']
Leave blank to allow all characters -- but only if you are insane.
您也可以這樣做:
步驟1: $newurl = urlencode(base64_encode('http://google.com'));
然后,您將得到一個字符串,將該字符串作為GET參數傳遞,並使用以下命令將其解析回:
$realUrl = base64_decode(urldecode($param1));
其中$param1
表示控制器的第一個參數。
第2步:將=
添加到配置文件中的$config['permitted_uri_chars']
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
將您要傳遞給GET Url的字符添加到該字符中。 此配置存儲在config文件夾的config.php
中。
該網址已被編碼(也就是說,您只是從地址欄中復制並粘貼了該網址),因此可以將其用於進一步的編碼
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.