PHP重定向 - 内容无法在框架中显示

时间:2017-06-22 08:43:37

标签: php redirect

我有一个PHP在将页面重定向到另一个页面(同一个域)时遇到了一些麻烦。假设我尝试查看用户是否有权访问该页面,如果没有,则在发送消息后,我想将其重定向到主页面。

我试过

header('Location: ' . $url);
die();

我也试过这样的事情:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); 
$result = curl_exec ($ch); 

但我得到了

This content cannot be displayed in a frame   
To help protect the security of information you enter into this website, the publisher of this content does not allow it to be displayed in a frame.

你能帮我解决这个问题吗? 谢谢!

2 个答案:

答案 0 :(得分:1)

打开Internet Explorer并选择"工具>互联网选项"

选择"隐私"选项卡并选择"高级"按钮。

高级隐私设置"窗口将打开。

勾选"覆盖自动cookie处理"按钮和"确定"回到Internet Explorer。

现在试试你的问题网站。

答案 1 :(得分:1)

标题('位置:'。$ url); - 应放在php页面中的任何其他输出之前,它将使用http标头立即重定向您的页面,您的文档或其余输出将不会显示在浏览器中。 因此,如果您想在重定向之前向用户显示消息,请从页面中考虑使用浏览器端的js或元重定向。

  1. Meta重定向(W3C不推荐) < meta http-equiv =" refresh"含量=" 0; URL = http://example.com/" />
  2. 的Javascript
  3. <脚本>

    setTimeout(function(){
    window.location="./mynewpage.html";
    },5000);
    

    < /脚本>

    < noscript>您没有足够的访问权限来访问此页面,请< a href =" ./ mynewpage.html">点击此处< / a>接着说  < NOSCRIPT>

    好的,要禁用返回,您可以通过设置

    强制浏览器重新验证页面
    header("Cache-Control: no-cache, no-store, must-revalidate");
    header("Pragma: no-cache");
    header("Expires: 0 ");