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

Codeigniter子域重定向-控制器

  •  0
  • user3030909  · 技术社区  · 6 年前

    我想被定向到我使用子域登录时指定的控制器。

    例如

    www.mysite.com -> mysite.com/main_controller
    
    abc.mysite.com -> mysite.com/sub_controller
    stack.mysite.com -> mysite.com/sub_controller
    test.mysite.com -> mysite.com/sub_controller
    
    www.mysite.com/other_controller -> mysite.com/other_controller
    

    我如何像这样指导子域?

    非常感谢。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Anfath Hifans    6 年前

    您不需要使用htaccess,我们可以使用一些技巧。请在下面查找。

    在根文件夹(安装了 应用 系统 文件夹)。

    我给你打电话 subdomain 是此案例的新文件夹。所以您的根目录应该是这样的。

    /application
    /system
    /subdomain
    /.htaccess
    /index.php
    /..
    

    然后复制 /index.php &将其粘贴到 /subdomain 目录并更改子设置,如下所示

    $system_path = '../system';
    $application_folder = '../application';
    $view_folder = '../application/views';
    

    然后,将此代码添加到 /application/config/routes.php

    if($_SERVER['HTTP_HOST'] == 'mysite.com'){
        $route['default_controller'] = 'main_controller';   
    }else{
        $route['default_controller'] = 'sub_controller'; 
    }
    

    -或-

    switch ( $_SERVER['HTTP_HOST'] ) {
        case 'abc.mysite.com':
            $route['default_controller'] = "sub_controller";
        break;
        case 'stack.mysite.com':
        case 'test.mysite.com':
            $route['default_controller'] = "sub_controller_2";
        break;
        default:
            $route['default_controller'] = 'main_controller';
    }
    

    最后,指出 子域 (例如abc.mysite.com)至 /子域 目录

    如果你需要参考以下链接,你也可以使用其他方法。 https://code.tutsplus.com/tutorials/basecamp-style-subdomains-with-codeigniter--net-16330 http://asvignesh.in/dynamic-subdomain-in-codeigniter/