我想从一个 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>
我的问题是,这是一个可行的解决方案吗?您是否预见到我可能会遇到的任何陷阱?