Php 菲律宾元';t基于iframe内的引用者父URL重定向
我有一个带有以下代码的iframe的页面。基本上,我希望它像一个门户网站。根据他们从哪个页面访问此内容,他们将看到不同的内容。当我尝试使用echo获取referer时,它成功地获取了父URL,但无法正确重定向。相反,它将变成默认值。我想知道这是不是不可能的事Php 菲律宾元';t基于iframe内的引用者父URL重定向,php,iframe,Php,Iframe,我有一个带有以下代码的iframe的页面。基本上,我希望它像一个门户网站。根据他们从哪个页面访问此内容,他们将看到不同的内容。当我尝试使用echo获取referer时,它成功地获取了父URL,但无法正确重定向。相反,它将变成默认值。我想知道这是不是不可能的事 $referrer = $_SERVER['HTTP_REFERER']; switch($referrer) { case "https://domain1.org": header("Location: https:
$referrer = $_SERVER['HTTP_REFERER'];
switch($referrer) {
case "https://domain1.org":
header("Location: https://example.org/one");
break;
case "http://domain2.org");
header("Location: https://example.org/two");
break;
case "https://domain3.org":
header("Location: https://example.org/three");
break;
default:
header("Location: https://example.org");
}
编辑1:如果我将其更改为iframe URL,而不是父项,它将只重定向到案例标题。否则,它将重定向到默认标头
编辑2:我在这里设置了一个测试环境。问题仍然存在。向iframe URL添加一个变量,以便它检测给定的变量而不是父URL。这不是我的想法,但在我的情况下,这是一个很好的替代方案
<iframe src="https://example.org/redirect.php?variable=redirect1"></iframe>
$var = $_GET['variable'];
switch($var) {
case "redirect1":
header("Location: https://example.org/one");
break;
case "redirect2";
header("Location: https://example.org/two");
break;
case "redirect3":
header("Location: https://example.org/three");
break;
default:
header("Location: https://example.org");
}
$var=$_GET['variable'];
交换机($var){
案例“1”:
标题(“位置:https://example.org/one");
打破
案例“2”;
标题(“位置:https://example.org/two");
打破
案例“3”:
标题(“位置:https://example.org/three");
打破
违约:
标题(“位置:https://example.org");
}
那么您没有收到任何错误(日志)?不清楚收割台是否正在点火。到底是什么不起作用?如果重定向失败,则可能是标头已发送类型问题。请详细说明一下。我很慢。@ficuscr:如果没有足够的信息,很抱歉。没有任何错误。原木很好。报头正在触发,但只有默认报头。重定向不会将父URL检测为referer,但echo会检测。referer字符串是否与您要测试的字符串完全匹配?也许您的case
语句中的字符串只是其中的一部分。jeroen所说的,或者,您需要检测A页上的referer,并将该值作为用于到达B页的URL上的GET变量(1、2等)传递。现在还不清楚您是否正在B页上检查该值,但为时已晚。web开发的本质,在URL上传递它或在会话中把它收起来。@ficuscr:我很可能是,但我不知道它是什么。我也很想拿这个聊天,但我没有20个代表。