当前位置: 首页 > 知识库问答 >
问题:

IE/FF上缺少HTTP参考信息(在Chrome/Safari上运行良好)

戚默
2023-03-14

我有page1。php使用此代码:

<form action="/redirect.php" method="POST" target="_blank">
<input name="destination" type="hidden" value="a"/>
<input type="submit" value="Click here"></form>

这是redirect.php

<?php

$url = "http://www.default.com"; 

if(isset($_POST['destination'])){

    switch ($_POST['destination']) {

    case "a":
        $url = "http://www.domain1.com";
        break;

    case "b":
        $url = "http://www.domain2.com";
        break;

    default:
        $url = "http://www.default.com";
    }
}

header( "refresh:1;url=$url" );

?>  
<!doctype html>
<html>
<head>
</head>
<body>
<div>Redirecting, Please wait</div>
</body>
</html>

我以这种方式创建了重定向页面,因为对我来说,它将加载和显示某些内容,而不是直接重定向(因此,它会生成200代码,而不是302代码)。

但是,仅在Chrome和Safari上,重定向的标题包含有关引用url的信息,即重定向。php,因此,例如,domain1的所有者。com将知道访问者来自mydomain。com/重定向。php

但是在IE和FF上,标题中的referer为空。是什么导致了这种不同的行为?我如何修复它,让他们携带相同的推荐人信息呢?

共有3个答案

汝开畅
2023-03-14

困惑。重定向和页面刷新不相等。还有更多——并非所有浏览器都支持刷新标题。

翟昊明
2023-03-14

工作示例(在FF 27.0.1上试用):

文件page1。php

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Starting page</title>
</head>
<body>
<form action="redirect.php" method="post">
    <input type="hidden" name="destination" value="a">
    <input type="submit" value="Click here">
</form>
</body>
</html>

文件重定向。php

<?php

$url = "http://www.default.com"; 

if(isset($_POST['destination'])){

    switch ($_POST['destination']) {

    case "a":
        $url = "http://www.domain.com";
        break;

    case "b":
        $url = "http://www.examples.com";
        break;

    default:
        $url = "http://www.example.com";
    }
}

?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Landing page</title>
</head>
<body>
<div>Redirecting, Please wait</div>
<script>
window.onload = function() {
    setTimeout(function(){
        window.location = '<?php echo $url;?>';
    }, 4000);
};
</script>
</body>
</html>

工作原理:在单击page1.php上的按钮单击此处后,发送帖子数据并选择域http://www.domain.com。使用javascript,在窗口加载4秒后,浏览器会将用户重定向到http://www.domain.com。我看了Firebug中的裁判标题,他们被发送了。

范嘉
2023-03-14

你可以尝试:

header("Location: ".$url."");
 类似资料:
  • 案例1: 使用时: 获取异常: 看到的超文本标记语言套件异常:java.lang.RuntimeException:java.lang.RuntimeException: GoogleChrome在路径中找不到!请将包含“chrome.exe”或“google-chrome”或“GoogleChrome”的目录添加到您的PATH环境可用,或显式指定GoogleChrome路径,如下所示:*goog

  • 问题内容: 我正在尝试使用CSS和SVG创建简单的动画:旋转齿轮。该动画可以在Chrome浏览器中完美运行,但不能在Firefox中运行。这是运行中的代码: 齿轮是SVG文件中的路径: 然后使用CSS来应用动画: 使用CSS是首选方法,因为我正在动态应用该类。(向下滚动时为逆时针方向,向上滚动时为顺时针方向),但是出于这个问题的目的,我只应用一个类。Chrome可以很好地实现它,但是Firefox

  • 我创建了一个JasperReport应用程序,它在tomcat服务器上运行良好。但是当我使用相同的jar在Jboss上运行时,它会显示错误 原因:java.lang.ClassCastException:org.apache.xerces.jaxp.DocumentBuilderFactoryImpl无法强制转换为javax.xml.parsers.DocumentBuilderFactor.ne

  • 本文向大家介绍js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器,包括了js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器。分享给大家供大家参考。具体实现方法如下: 用法示例: 希望本文所述对大家的javascrip

  • 尽管CAS服务器在Tomcat下工作得很好,但我有一些问题要使它在WebLogic12c下工作。在Weblogic上部署之前,我遵循以下指南:https://github.com/gentics/gentics-sso-cas/wiki/oracle-weblogic-configuration在webcontent/web-inf/with content中添加文件Weblogic.xml:

  • 我必须在IE 10浏览器上运行Selenium测试。为了运行以下脚本,我执行了以下操作: > 从这里下载了IEDriverServer(64位,因为我的机器是64位) 将该(. exe)文件放在“C://驱动程序”文件夹中 设置路径'C://驱动程序'在环境变量 运行脚本 运行 aboe 脚本会导致以下错误: 同样的脚本在Chrome和Firefox浏览器上运行良好。请帮助我理解我做错了什么。