我在application / config.php中有一个配置项,如果设置为true,将打开维护模式并重定向到URL。
但它阻止了每一页。我使用MY_Controller进行核心维护。我希望能够访问我的modules / admin / controllers / folders +
中的控制器在MY_Controller.php上
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class MY_Controller extends MX_Controller {
public function __construct() {
parent::__construct();
if(!config_item('system_installed')) redirect('install');
}
}
class Controller extends MY_Controller {
public function __construct() {
parent::__construct();
if($this->config->item('system_maintenance') == TRUE) {
redirect('maintenance');
if($this->uri->segment('admin')) { // Should All ways has access
}
}
}
}
在Application / Config.php上
$config['system_maintenance] = TRUE; // Active
Example for Not Active And $config['system_maintenance] = FALSE; // Non Active
答案 0 :(得分:1)
您可以在控制器__construct()中检查IP地址,并通过IP确定它是否为admin用户。也许最好检查客户端的Web浏览器是否有某些特定的cookie,如果有,那么它是超级用户,CI应该忽略维护模式限制。当然,在维护模式下需要使用的每个类构造函数中检查一下。