我有这个问题,我不能决定什么是什么,什么是最好的。希望有人能够给我提供一些解释来澄清我的困惑。Laravel 5子域名站点作为新项目托管吗?
所以在这里,我有一个非常大的网站。目前正在Yii Framework上运行,我正在将它迁移到L5 Framework。这个网站有几个子网站的结构,如下面的例子:
1) www.example.com
2) www.example.com/{username}
3) explore.example.com
4) explore.example.com/{organization}
5) connect.example.com
6) coin.example.com
7) m.example.com
8) e3.example.com
所以目前的托管方法是使用1个项目来承载一切。问题在于,如果其中一个子网站由于某种原因而被禁用,则整个网站需要停下来,代码禁用该网站并再次部署整个网站。
回到L5框架,我注意到,我可以做同样的laravel ASLO使用routes.php文件下面的路由方法在一个项目来承载一切:
Route::group(['domain' => '{account}.myapp.com'], function()
{
Route::get('user/{id}', function($account, $id)
{
//
});
});
同样同样的问题上升,如果有一个子网站被禁用,我需要编码禁用网站并重新部署整个网站。所以我在想,如果将新项目中的每个子站点作为一个模块托管是非常实际的,那么如果对该子站点进行任何更改,它将只影响该特定模块,而其他站点则继续运行。
另外我还想问,如果我将它作为一个单独的项目托管,我的网站需要用户登录才能导航到任何页面或应用程序。那么如何告诉其他模块用户已经登录的地方,一切都可以照常进行?
最后当然如果有人有任何其他的建议或方法随时也可以给我启发。我的主要动机是实现:
1) Maximum development flexibility
2) Fail tolerance
3) Sub sites can share the same login with the main website
(You are only require to login at the main page and you will be authorized
to use the rest of the web application)
谢谢。