我有一个非常奇怪的问题。我已经使用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';
答案 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”);