【问题标题】:MY_Controller Redirection CodeigniterMY_Controller 重定向 Codeigniter
【发布时间】:2014-08-31 14:37:36
【问题描述】:

我使用 codeigniter。我正在尝试在 MY_Controller.php 中设置重定向 true 或 false

一旦安装过程完成,它应该让我可以访问前端和后端。

但是现在当我转到管理 url 时,即使它已安装,它也会让我返回安装 url,我该如何解决我的问题。我想在安装后访问管理员和前端。

所有控制器都扩展了我的控制器。

<?php

class MY_Controller extends MX_Controller {

    function __construct() {
        parent::__construct();

        if($this->config->item('installed') !== FALSE) {
            redirect('install');    
        } else {
            return TRUE;
        }

    }
}

配置.php

/*
|--------------------------------------------------------------------------
| Install Wizard Setup
|--------------------------------------------------------------------------
|
| This checks if you have set gone through install process
| else get redirected. This corresponds with MY_Controller.php
| All Controllers Extend Class Now Renamed MY_Controller from
| MX_Controller 
| FALSE REDIRECTS TO INSTALL, TRUE HAS ACCESS TO MAIN SITE
|
*/
$config['installed'] = TRUE;

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    我猜如果它的 TRUE 意味着它已安装,那么你需要检查这个条件

    if($this->config->item('installed') !== FALSE)
    

    应该是这样的

    if($this->config->item('installed') == FALSE)
    

    如果有任何问题,请随时告诉我。

    【讨论】:

    • 我已经准备好尝试了同样的问题,这就是为什么认为这可能有效?
    【解决方案2】:

    我认为我发现了一个更好的选择,它是将重定向作为路由。现在以这种方式工作得很好,而不是在 MY_Controller 中。

    这是在 config/route.php 中

    if (!$this->config->item('installed')) {
    
        $route['default_controller'] = "install/step_1/index";
        $route['404_override'] = '';
    
    } else {
    
        $route['default_controller'] = "catalog/common/home/index";
        $route['404_override'] = '';
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-12
      • 1970-01-01
      • 2023-03-20
      相关资源
      最近更新 更多