【问题标题】:php redirect() not working on online serverphp redirect() 在在线服务器上不起作用
【发布时间】:2013-06-20 04:29:31
【问题描述】:

我已经重定向了我的页面,例如:

redirect(base_url().'user/login/?redirect=site/cart_steps/steps');

它在本地主机中运行良好,当我将它上传到服务器时它没有重定向。我检查了所有代码,最重要的是所有代码都执行了。但是当涉及到重定向时,页面不会重定向。我也试过了

redirect(base_url().'user/login?redirect=site/cart_steps/steps');
redirect(base_url().'user/login');
header('Location:'.base_url().'user/login?redirect=site/cart_steps/steps');
header('Location:'.base_url().'user/login');

但是页面没有重定向?我也检查了这个The header function is not working on online server? 但它也不能帮助我......任何人都可以解释这里的问题是什么......

【问题讨论】:

  • 检查 base_url() 它包含什么以及它是否包含您的服务器路径?
  • 是的...我检查了它..它是正确的
  • 使用 header() 重定向时,您必须确保在重定向之前没有任何内容输出到浏览器。请参阅 php 手册以获取更多说明:php.net/manual/en/function.header.php 至于redirect()... 是您定义的函数吗?我听说过或根据手册没有名为 redirect() 的 php 函数。
  • redirect() 来自代码点火器默认库...
  • 听起来网络服务器配置中的某些内容正在过滤掉脚本发送的标头。

标签: php codeigniter redirect


【解决方案1】:

你可以像这样使用刷新方法:

    <?php
        redirect($this->input->server('HTTP_REFERER'), 'refresh'); // refresh the page
    ?>

另一个常见错误可能是在重定向之前回显/打印某些内容。

【讨论】:

    【解决方案2】:

    我会检查您的 CodeIgniter 错误日志,以验证特定文件没有抛出任何可以告诉您需要修复的错误消息。

    如果您还没有,您可能还需要确保 URL 帮助程序已加载。 例如:

    $this->load->helper('url');
    

    【讨论】:

      【解决方案3】:

      另一种解决方案

      <meta http-equiv="refresh" url=http://example.com/"> 
      

      【讨论】:

      • 那么您的网络服务器配置文件可能有问题。在这些函数 load->helper、loader、header 或任何之前没有输出。
      【解决方案4】:

      尝试这样使用,

      首先将您的基本 URL 定义为:

      $base_url = "Your base url";
      

      然后将此 $base_url 变量应用于您的重定向链接。

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 2013-09-28
        • 1970-01-01
        • 2012-01-12
        • 2013-10-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-23
        • 1970-01-01
        相关资源
        最近更新 更多