代码之家  ›  专栏  ›  技术社区  ›  Shantanu

CodeIgniter项目的路由问题

  •  0
  • Shantanu  · 技术社区  · 8 年前

    在routes.php文件中,我有以下代码:

    $route['admin/login'] = 'admin/login/index';
        $route['admin/add_client'] = 'admin/add_client/index';
    
        $route['(:any)'] = function ($val){
        require_once( BASEPATH .'database/DB.php' );
        $db =& DB();
        $db->select('url');
        $db->from('interior_form');
        $db->where('url',$val);
        $query = $db->get()->row();
        $db->close();
        if(sizeof($query)>0):
    
            return 'home';
        else:
             return "404_override";
        endif;
    

    我在这里面临的问题是,每当我输入www.xyz.com/admin/login时,如果我在同一个浏览器中写入www.xyz.com/admin/login,它会先转到主页,然后再转到管理登录页。它不会在第一个实例中转到管理登录页。

    3 回复  |  直到 8 年前
        1
  •  0
  •   Karlo Kokkak    8 年前

    尝试:

    $route['admin/login'] = 'admin/login/index';
    $route['admin/add_client'] = 'admin/add_client/index';
    $route['(:any)'] = 'home/$1';
    

    在您的家庭控制器中,您可以处理哪个请求是404,哪个请求是有效的。

        2
  •  0
  •   sampath    8 年前

    你不需要编辑你的rout文件。首先从文件中出来。

    你可以这样做……

    在管理控制器页面中创建一个名为index的函数。在该函数中,您将加载登录页面。 无论何时键入www.xyz.com/admin,都要加载admin登录页面。

    注: 哪个控制器页包含索引函数,首先调用该控制器时加载该索引函数,因为与所有控制器页中的其他函数相比,索引函数是第一优先级。

        3
  •  0
  •   Rudra    8 年前

    您可以尝试以下简单的设置rout的代码。

    $route['default_controller'] = 'Adminlogin';
    $route['404_override'] = '';
    $route['translate_uri_dashes'] = FALSE;
    
    推荐文章