传递 GET 参数,这是另一个 URL 和 PHP - Codeigniter 3,Apache
Pass GET param which is another URL with PHP - Codeigniter 3, Apache
我想像这样在 GET 参数中传递 URL :
SITE URL/b16ee4f31e17df0d3af5?url=https%3A%2F%2Fwww.facebook.com%2F
我正在使用 urlencode
来转义字符,但我看到 403 Error
用于此 URL,因为此 URL GET 参数中的某些字符大小写点字符。
如果我使用 CI3 函数 url_title
,它会转义点字符,但我需要它们,因为我需要 GET 参数中的有效 url。
如何在某些情况下使用 . & ? \
等字符和标准 URL 中可以找到的其他字符来传递 URL get 参数?
url 已经被编码(也就是说,如果您只是从地址栏复制并粘贴它)所以您可以进一步编码使用它
您可以在配置文件
中更改 $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.php
中。
我想像这样在 GET 参数中传递 URL :
SITE URL/b16ee4f31e17df0d3af5?url=https%3A%2F%2Fwww.facebook.com%2F
我正在使用 urlencode
来转义字符,但我看到 403 Error
用于此 URL,因为此 URL GET 参数中的某些字符大小写点字符。
如果我使用 CI3 函数 url_title
,它会转义点字符,但我需要它们,因为我需要 GET 参数中的有效 url。
如何在某些情况下使用 . & ? \
等字符和标准 URL 中可以找到的其他字符来传递 URL get 参数?
url 已经被编码(也就是说,如果您只是从地址栏复制并粘贴它)所以您可以进一步编码使用它
您可以在配置文件
中更改$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.php
中。