【问题标题】:Why redirect function in CodeIgniter not working?为什么 CodeIgniter 中的重定向功能不起作用?
【发布时间】:2014-01-13 14:27:48
【问题描述】:

我有一个非常奇怪的问题。我已经使用CI 2 年多了,这是我第一次发现这种问题。我发现重定向功能无法正常工作。我已经在 autoload.php 中加载了 url 助手。

$autoload['helper'] = array('url','html','form','file');

如果用户调用管理控制器,我想要将用户重定向到控制器。

class Admin extends CI_Controller {
   function index(){
      redirect('secure');
   }
}

但是发生的情况是页面重定向到 base_url。我尝试使用刷新或位置添加重定向的第二个参数,但结果是一样的。它也发生在其他控制器中的所有重定向功能上。谁能告诉我这个问题发生的原因是什么?

编辑: 有关可能有助于发现问题的其他信息,我在这里放了 routes.php 的代码。

$route['default_controller'] = "frontpage";
$route['404_override'] = 'errors/page_missing';
$route['admin'] = 'secure';

【问题讨论】:

  • 根据docs,你应该使用redirect('/secure'); 注意/。另外,请确保您的重定向发生在任何数据发送到客户端之前。
  • 还是不行。而且我确信在重定向之前没有发送任何数据。否则我会收到错误Message: Cannot modify header information - headers already sent by...,对吧?
  • 取决于设置方式。您可能没有错误/警告报告。检查您的日志文件。应该有什么。

标签: php codeigniter redirect codeigniter-2 codeigniter-url


【解决方案1】:
class Admin extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->load->helper('url');
    }

    function index()
    {
         redirect('secure', 'refresh');
    }

}

【讨论】:

    【解决方案2】:

    我刚刚发现问题是由我的助手中的一个函数引起的。巧合的是,我在帮助程序中使用了 site_url() 函数,CI 已经使用了该函数。我用另一个名称替换了该函数,现在重定向工作正常。不过,我不知道它如何影响重定向功能。感谢任何人试图帮助我。

    【讨论】:

      【解决方案3】:

      我在我的项目中也遇到了这个问题,我在关闭 php 标签后在页面底部发现了一些空白。

      在您的 redirect() 方法之前或页面底部必须有一些空白或某种回声。

      如果这不是问题,则在 'config/config.php' 中将日志阈值设置为 4 并检查 'application/logs' 文件夹。

      【讨论】:

        【解决方案4】:

        我也遇到了重定向功能的问题。

        我通过检查它的日志文件找到了解决方案。在 \application\logs\

        然后在日志文件中找到被寻址的文件,检查php标签“前后是否有空格未使用的空行' " '

        如果您发现任何空间,请将其删除。并且您的重定向功能将起作用。

        谢谢。

        【讨论】:

          【解决方案5】:

          可能是 URL 上没有 index.php 那是...., http://localhost/codigniter/index.php/controll_page/function_name 所以。, 重定向将是.....!!

          redirect(base_url()."index.php/controll_page/function_name");
          

          【讨论】:

          • 您能否正确格式化您的答案?有点难读。谢谢。
          猜你喜欢
          • 1970-01-01
          • 2016-02-14
          • 2020-03-01
          • 1970-01-01
          • 2020-06-11
          • 2014-09-07
          • 1970-01-01
          • 1970-01-01
          • 2016-09-13
          相关资源
          最近更新 更多