我正在尝试创建一个中间页面,即用户点击一个链接,该网站会在页面上显示您现在正在离开该网站。
示例链接如下所示:
http://example.com/transitionpage.php?r=http://www.google.com
transitionpage.php然后使用简单的
$redirectto = $_GET['r'];
header( "refresh:2;url=".$redirectto );
但是我遇到的问题是,如果您重定向到的网址中还包含多个GET参数,则会在第一次出现&
时切断域
因此,如果链接最初是:
http://example.com/transitionpage.php?r=http://www.google.com?par=1&par=2
它会变成:
http://example.com/transitionpage.php?r=http://www.google.com?par=1
这是不利的。
如何在没有被切断的情况下通过GET传递完整的URL?我必须逃脱吗?
答案 0 :(得分:1)
您可以进行网址编码:http://www.w3schools.com/tags/ref_urlencode.asp 您的获取查询将转换为:http://example.com/transitionpage.php?r=http%3A%2F%2Fwww.google.com%3Fpar%3D1%26par%3D2
这些是您需要的PHP方法:http://php.net/manual/en/function.urlencode.php http://php.net/manual/en/function.urldecode.php
答案 1 :(得分:0)
使用:
$link = 'http://example.com/transitionpage.php?r='. urlencode('http://www.google.com?par=1&par=2');
答案 2 :(得分:0)