[英]Cannot redirect to login method of auth controller when using tank auth in codeigniter
我在 codeigniter 中使用 tank auth,我有这样的文件夹结构,当我将它放在 Admin 文件夹之外时,它可以正常工作,但是当我将它放在 admin 文件夹中时,我得到 404 Page not found:
Controller:
-
管理文件夹
Auth.php Admin.php
认证 controller:
function index()
{
if ($message = $this->session->flashdata('message')) {
$this->load->view('auth/general_message', array('message' => $message));
} else {
redirect('/auth/login/');
}
}
/**
* Login user on the site
*
* @return void
*/
function login()
{
if ($this->tank_auth->is_logged_in()) { // logged in
redirect('');
} elseif ($this->tank_auth->is_logged_in(FALSE)) { // logged in, not activated
redirect('/auth/send_again/');
} else { .....
我给了这样的路线:
$route['admin'] = 'Admin/auth';
codeigniter 中的重定向语句使用重定向 header 语句将用户发送到指定的 web 页面。
Load URL helper in controller or model or you can load in config/autoload.php
for global access, which is loaded in the following way:
在 controller 或 Model 中像这样:
如果您不想加载 controller 或 model 则加载config/autoload.php
:
$autoload['helper'] = array('url');
并像这样调用重定向 function :
redirect('/auth/login', '刷新');
在 controller 添加这个 $this->load->helper('url');
如果您的 Auth controller 路径是 Controller/Admin/Auth 然后使用
redirect('admin/auth/login', 'refresh');
如果是 Controller/Auth 则使用
redirect('auth/login', 'refresh');
在这两种情况下,您都需要加载 url 助手。 我建议你在 codeigniter 项目中自动加载 url 助手。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.