指向单个 codeigniter 的多个域

Multiple domains pointing to single codeigniter

我是 Codeigniter 新手,正在使用 Codeigniter v3。我试图通过共享配置和模型等让我自己维护起来更容易一些。我的 CodeIgniter 有几个部分可以通过子域访问,但在内部只是一个控制器文件夹。例如:

我需要你的帮助来解决我的问题:

  1. 如何设置我的 Codeigniter 以适合我的情况?
  2. 对于着陆页,最好的解决方案是创建文件夹还是不创建?

这种可以被很多子域访问的项目如果使用slack会更好

这是在 Codeigniter 中管理多个应用程序的案例。有些方法可能与我在下面提到的方法不同,may/may 不包括虚拟主机配置。

假设您的 domain.com 有一个空的 public_html 文件夹(也许,有一些默认文件夹和一个索引文件)

首先要做的是创建您想要的子域。 api,管理和仪表板是提到的。

创建子域将在 public_html 文件夹中创建子文件夹 api、admin 和 dashboard。

上传 codeigniter zip 文件并将其解压缩到 public_html 文件夹。现在 public_html 文件夹将包含文件夹:api、admin、dashboard、application、system、index.php 等

创建文件夹api,admin,dashboard,登陆application文件夹。将应用程序文件夹中已有的所有文件和文件夹复制到 api、admin、dashboard 和 landing。现在,应用程序文件夹将只有 4 个文件夹:api、admin、dashboard 和 landing。

将 public_html 文件夹中的 index.php 文件复制并粘贴到文件夹 api、dashboard 和 admin 中 public_html 文件夹中。

更改子域文件夹 api、admin、dashboard 中 index.php 文件中 $system_path$application_folder 的值。这是子域 api 的示例。这些代码行将在 api/index.php 文件的第 90 行附近看到:

/*
 *---------------------------------------------------------------
 * SYSTEM DIRECTORY NAME
 *---------------------------------------------------------------
 *
 * This variable must contain the name of your "system" directory.
 * Set the path if it is not in the same directory as this file.
 */
    // $system_path = 'system'; // change this line
    $system_path = '../system';

/*
 *---------------------------------------------------------------
 * APPLICATION DIRECTORY NAME
 *---------------------------------------------------------------
 *
 * If you want this front controller to use a different "application"
 * directory than the default one you can set its name here. The directory
 * can also be renamed or relocated anywhere on your server. If you do,
 * use an absolute (full) server path.
 * For more info please see the user guide:
 *
 * https://codeigniter.com/user_guide/general/managing_apps.html
 *
 * NO TRAILING SLASH!
 */
    // $application_folder = 'application'; // change this line
    $application_folder = '../application/api';

同样适用于管理员:

    // $system_path = 'system'; // change this line
    $system_path = '../system';

    // $application_folder = 'application'; // change this line
    $application_folder = '../application/admin';

仪表板:

    // $system_path = 'system'; // change this line
    $system_path = '../system';

    // $application_folder = 'application'; // change this line
    $application_folder = '../application/dashboard';

登陆:

    // $system_path = 'system'; // change this line
    $system_path = '../system';

    // $application_folder = 'application'; // change this line
    $application_folder = '../application/landing';

现在您将能够访问:

  • api.domain.com --> 域.com/api(对于 API)
  • admin.domain.com --> 域。com/admin(内部用户)
  • 仪表板。domain.com --> 域。com/dashboard(对于客户端用户)
  • domain.com --> domain.com