从php重定向到另一个没有发生的文件

时间:2016-07-24 09:40:01

标签: javascript php

当我运行php代码时,我无法转到其他页面。 这是php片段......

 }
       if (headers_sent()) {
           die("Redirect failed. Please click on this link: <a href=...>");
    }
    else{
    ?>
    <!-- Script to redirect to other url...-->
    <script type='text/javascript'>
        window.location.href = 'http://<?php echo  
        $_SERVER['SERVER_NAME'].":8001/".$url ?>';
        </script>
    <?php
        ob_end_flush();
        exit();
    ?>
    ...

Firebug输出:

响应

    <script type='text/javascript'>
        window.location.href = 'http://localhost:8001
        /pall_oneless.php?uid=6fe9b73027';
    </script>

Firebug中显示的响应标头:

  

连接      关      内容类型
     text / html的      主机
     本地主机:8001      X供电,通过
     PHP / 5.5.9-1ubuntu4.17      查看源      接受      text / html, / ; Q = 0.01      接受编码
     gzip,deflate      接受语言
     的en-US,连接; Q = 0.5      连接      活着      内容长度      91      内容类型
     应用程序/ x-WWW窗体-urlencoded;字符集= UTF-8      曲奇饼      PHPSESSID = fnckn52eoai0dqdmdutsd3ljm6      主机
     本地主机:8001      Referer的
     http://localhost:8001/login.php      用户代理      Mozilla / 5.0(X11; Ubuntu; Linux x86_64; rv:47.0)Gecko / 20100101 Firefox / 47.0 FirePHP / 0.7.4      X-要求,随着
     XMLHttpRequest的      X-洞察力
     激活

2 个答案:

答案 0 :(得分:1)

如果你想要做的只是重定向,则无需使用JavaScript。使用标题会更快:将else子句更改为

else{
    $newLocation = 'http://'.$_SERVER['SERVER_NAME'].':8001/'.$url;
    header("Location: $newLocation");
    exit;
}

答案 1 :(得分:0)

这不是你在php中进行重定向的方式。那是在javascript中。 在php中你做:

...
else {
   header('Location: http://'.$_SERVER['SERVER_NAME'].':8001/'.$url);
   exit;
}