1
我想从一个FuelPHP安装运行多个站点。这背后的主要驱动力是共享模型和数据库配置的能力。来自一个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>
我的问题是,这是一个可行的解决方案?你有没有预见到我可能遇到的任何陷阱?
这将需要控制器在app/classes/controller的子文件夹中。有了这个设置,最好将main,admin和api作为一个模块,所以你需要命名空间分离。 – WanWizard 2012-04-29 19:10:56
您将不得不考虑您将共享所有应用程序配置以及公开的所有资产。 它可能会给你多个网站,但不是多个加油站应用程序! – WanWizard 2012-04-29 19:12:58