我正在构建一个多站点项目,每个站点都有不同的域名,例如“site-two.com”,“site-one.net”。
我一直在寻找,但我不清楚如何做到这一点,如果有可能的话呢?
我在Laracasts上找到了这个例子,但我不明白:
// routes.php
Route::group(['domain' => '{projectSlug}.{tld}'], function($projectSlug)
{
// Website routes
});
// bindings.php
Route::bind('projectSlug', function($value, $route)
{
return Project::where('slug', '=', $value)->firstOrFail();
});
Route::bind('tld', function($value, $route)
{
$project = $route->getParameter('projectSlug');
if($project->tld !== $value)
App::abort(404);
return $value;
});
// When creating a URL to a route
route('project/home', [$project->slug, $project->tld]);
我还在reddit上发现了一些更简单的东西,但是我想知道这是否完全正常,我的意思是当域X在浏览器中时我只能访问组路由?
Route::group(array('domain' => 'site-one.com'), function() {
/* routes here */
Route::get('/{link_slug}', 'Controller@something');
});
Route::group(array('domain' => 'site-two.com'), function() {
/* routes here */
Route::get('/{link_slug}', 'Controller@something');
});
在拥有多站点项目时,文件结构的一个很好的方法是什么?,控制器,模型,视图下的站点文件夹......?