1

我想从一个 FuelPHP 安装运行多个站点。这背后的主要驱动力是共享模型和数据库配置的能力。

我已经看到了一些需要更改 FuelPHP 目录结构或通过使用模块的建议。

  • 我真的不想弄乱目录结构。

  • 我不认为我完全理解模块如何帮助我,但我认为生成的配置会比我需要的更复杂。

我提出的解决方案涉及对位于 /public 中的 .htaccess 文件进行简单更改。因此我根据主机名修改重写规则。每个站点的控制器和视图位于主结构的子目录中。

原始 .htaccess

<IfModule mod_rewrite.c>
    RewriteEngine on

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

多站点 .htaccess

<IfModule mod_rewrite.c>
    RewriteEngine on

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{HTTP_HOST} main.loc
    RewriteRule ^(.*)$ index.php/main/$1 [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{HTTP_HOST} admin.loc
    RewriteRule ^(.*)$ index.php/admin/$1 [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{HTTP_HOST} api.loc
    RewriteRule ^(.*)$ index.php/api/$1 [L]
</IfModule>

我的问题是,这是一个可行的解决方案吗?您是否预见到我可能会遇到的任何陷阱?

4

1 回答 1

0

我的工作解决方案是并排创建三个 FuelPHP 应用程序,然后对核心目录、一些包和模型目录等关键目录进行符号链接。

一个问题是我的 FTP 客户端忽略了符号链接,所以我不得不在登台服务器上重新创建它们。当我终于开始使用 SSH 自动部署时,这将不是问题。

于 2012-05-06T10:25:34.260 回答