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

问题描述 投票:0回答:5

我有一个非常奇怪的问题。我已经使用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';
php codeigniter redirect codeigniter-2 codeigniter-url
5个回答
4
投票
class Admin extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->load->helper('url');
    }

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

}

1
投票

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


1
投票

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

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

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


1
投票

我有同样的重定向功能问题。

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

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

如果找到任何空间,请将其删除。你的重定向功能将起作用。

谢谢。


0
投票

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

重定向(BASE_URL() “的index.php / controll_page /函数名”。);

© www.soinside.com 2019 - 2024. All rights reserved.