首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用URL编辑重定向?(删除一些“获取”数据)

问用URL编辑重定向?(删除一些“获取”数据)
EN

Stack Overflow用户
提问于 2013-04-14 16:29:56
回答 4查看 212关注 0票数 1

现在,有一个页面重定向使用

标题(“位置:{$_SERVER‘’HTTP_REFERER‘}”);

但是,页面重定向到的URL如下所示:

代码语言:javascript
复制
http://localhost:5110/page.php?1st=2&2nd=140413&3rd=547859

如何删除重定向的URL的一部分?URL应该类似于:

代码语言:javascript
复制
http://localhost:5110/page.php?1st=2&3rd=547859

如果你有其他建议告诉我..。谢谢。

EN

回答 4

Stack Overflow用户

发布于 2013-04-14 17:11:47

代码语言:javascript
复制
$referer = parse_url($_SERVER['HTTP_REFERER']);
parse_str($referer['query'], $query);

unset($query['2nd']); // unset the desired element

$referer['query'] = http_build_query($query);
$url = '';
if (array_key_exists('scheme', $referer)) { $url .= "{$referer['scheme']}://"; }
if (array_key_exists('host', $referer)) { $url .= $referer['host']; }
if (array_key_exists('port', $referer)) { $url .= ":{$referer['port']}"; }
if (array_key_exists('path', $referer)) { $url .= $referer['path']; }
if (array_key_exists('query', $referer)) { $url .= "?{$referer['query']}"; }
if (array_key_exists('fragment', $referer)) { $url .= "#{$referer['fragment']}"; }

header("Location: $url");
票数 1
EN

Stack Overflow用户

发布于 2013-04-14 16:54:14

代码语言:javascript
复制
$ref = explode("?",$_SERVER['HTTP_REFERER']);
parse_str($ref[1], $qs);
unset($qs['query param to remove']);
$qs = http_build_query($qs);
$ref = $ref[0].'?'.$qs;
票数 0
EN

Stack Overflow用户

发布于 2013-04-14 16:54:46

试试这个:

代码语言:javascript
复制
$str = 'http://localhost:5110/page.php?1st=2&2nd=140413&3rd=547859';
    echo remove_qs_key($str,"2nd");

    function remove_qs_key($url, $key) {
        $url = preg_replace('/(?:&|(\?))' . $key . '=[^&]*(?(1)&|)?/i', "$1", $url);
        return $url;
    }

结果:http://localhost:5110/page.php?1st=2&3rd=547859

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16001387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档