从php中的querystring中删除参数及其值

时间:2016-01-28 20:36:20

标签: php

我有以下重定向脚本。

我有一个重定向脚本,它使用查询字符串参数来知道重定向到哪里。想要删除param及其值,并在重定向之前重新构建查询字符串。所以引荐来源不包含参数值。

这是我目前的代码。

  $check   = $_GET['param'];    
    function redirect($location) {
          header("Location: $location");
        exit;}

        if($_GET['param'] === '1'){
        redirect('http://domain.com/');
        }

2 个答案:

答案 0 :(得分:3)

取消设置然后构建它:

unset($_GET['param']);
$querystring = http_build_query($_GET);

答案 1 :(得分:1)

  

...想要删除param及其值,并在重定向之前重新构建查询字符串。所以引荐来源不包含参数值。

使用parse_url()

以下是参考资料:

所以你的代码应该是这样的:

function redirect($location){
    // $location = "http://example.com?something=value";
    $components = parse_url($location);
    $url = $components['scheme'] . "://" . $components['host'];
    header("Location: $location");
    exit;
}

$check   = $_GET['param'];   

if($check === '1'){
    redirect('http://domain.com/');
}else{
    redirect($check);
}