我试图从包含查询的页面重定向,但是当它从页面重定向时,查询会发生变化。在重定向之前,我的查询如下:
&utm_pageurl=[PAGE-URL]&utm_pagedomain=[PAGE-DOMAIN]
但结果却是这样:
utm_pageurl=%5BPAGE-URL%5D&utm_pagedomain=%5BPAGE-DOMAIN%5D
下面是用于重定向的代码:
$newquery = "?" . http_build_query($_GET);
header("Location: Http://" . $sref . $newquery );$sref只是查询之前的页面的URL,我该如何停止URL编码?
发布于 2016-06-13 16:08:26
试试这个:
$newquery = "?" . str_replace('%5B', '[', str_replace('%5D', ']', http_build_query($_GET)));
header("Location: Http://" . $sref . $newquery );发布于 2016-06-13 15:43:25
这是必需的。[和]是URL中的保留字符。如果不对请求进行编码,则请求可能会中断,例如,由于用户使用的客户端与您在测试中使用的客户端不同,或者在混乱之间使用某种代理。
唯一有效的字符是A-Za-z、0-9、-、.、_和~,其他所有字符都必须进行编码。
https://stackoverflow.com/questions/37793742
复制相似问题