我尝试抓取当前页面网址并更改其中的某些值,然后使用header()
重定向到下一页
如果我当前的网址为http://example.com/abc-def-1-xxx-g.php
,我想将xxx
部分更改为a
,以便我的网址为http://example.com/abc-def-1-a-g.php
下载重定向之前xxx页面标题的内容
header("Location: whattoputhere.php?". $_SERVER['QUERY_STRING']);
答案 0 :(得分:0)
试试这个:
$actual_link = "http://".$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI];
$url = str_replace("xxx", "a", $actual_link);
Header("Location: ".$url);
答案 1 :(得分:0)
这应该适合你:
$str = "http://example.com/abc-def-1-xxx-g.php";
$url = str_replace("xxx", "a", $str);
//For example
echo $url;
输出:
http://example.com/abc-def-1-a-g.php
修改强>
要获取当前网址,请使用以下命令:
$str = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
另外不要忘记在每个标题后使用exit()
,这样你就可以确定脚本停止执行如下:
header("Location: $url");
exit();
答案 2 :(得分:0)
您可以在调用header()之前轻松解析字符串。
尝试parse_str,str_replace等。
你可以使用$ _SERVER ['QUERY_STRING']和$ _SERVER ['REQUEST_URI'],具体取决于你需要解析的内容:
$qs = parse_str(str_replace("$string_I_do_not_want",'',$_SERVER['REQUEST_URI']));
if ($some_value_from_string == $something_to_change) {
$new_value = compute_my_new_value();
}
$new_location = "http://example.com/". $somepage . $my_qs_with_new_value;
header("location: $new_location");
exit;