繁体   English   中英

传递GET参数,这是PHP的另一个URL-Codeigniter 3,Apache

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM