Codeigniter 子域重定向 - 控制器

Codeigniter Subdomain Redirect - Controller

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

例如

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

如何定向这样的子域?

谢谢。

你不需要玩htaccess,我们可以做一些小技巧。在下面找到。

在根文件夹(您安装了 applicationsystem 文件夹的位置创建新文件夹。

我在这里打电话 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';
}

最后,将您的 subdomain(例如 abc.mysite.com)指向 /subdomain 目录

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