Я хочу перенаправить пользователя на страницу входа, если не зарегистрированКак перенаправить с крюком на другой контроллер
мой крюк HK_Login.php внутри приложения/крюки
<?php
class HK_Login
{
private $CI;
public function checkLogin()
{
$this->CI =& get_instance();
if($this->CI->session->userdata('ID') == '' && $this->CI->uri->segment(3) != 'login')
{
redirect($this->CI->uri->segment(1) . '/secure/login');
}
}
}
мой контроллер Secure.php внутри приложения/контроллеры
<?php
class Secure extends CI_Controller
{
public function __construct()
{
parent::__construct();
}
public function login()
{
$this->load->view('login/index');
}
}
результат:
Not Found
The requested URL /web/secure/login was not found on this server.
Мой .htaccess
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]
часть моей config.php
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';
$config['enable_hooks'] = TRUE;
автозагрузку
$autoload['helper'] = array('url', 'custom');
$autoload['libraries'] = array('database', 'session');
крюк конфигурации
$hook['post_controller_constructor'][] = array(
'class' => 'HK_Login',
'function' => 'checkLogin',
'filename' => 'HK_Login.php',
'filepath' => 'hooks'
);
Это мои маршруты.php
$route['default_controller'] = 'dashboard';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
Зачем нужна эта ошибка?
добавлены в routes.php
$route['/secure/login'] = 'secure/login';
Дайте ту же самую ошибку
Как вы относитесь к следующим типам маршрутов? – mdamia
$ route ['default_controller'] = 'dashboard'; $ route ['404_override'] = ''; $ route ['translate_uri_dash'] = FALSE; – Artic