为什么CodeIgniter中的重定向功能不起作用?

时间:2013-12-25 19:52:00

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

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

$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';

5 个答案:

答案 0 :(得分:4)

class Admin extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->load->helper('url');
    }

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

}

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

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

如果这不是问题,那么在'config / config.php'中将log threshold设置为4并检查'application / logs'文件夹。

答案 3 :(得分:1)

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

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

然后找到在日志文件中找到的文件,并在php标记“之前和之后检查是否有空格或任何未使用的空白行' “'

如果找到任何空格,请将其删除。你的重定向功能就可以了。

感谢。

答案 4 :(得分:0)

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

redirect(base_url()。“ index.php / controll_page / function_name”);