2016-04-07 156 views
0

我有一个应用程序,它使用多个域: 1.主域 2.域的不同部分的网站(每个用户可以有一个自己的域页面,保存在user_profile中)。Laravel 5.2:基于域名的过滤器路由组

我需要一个路由组,我想只可用于主域,另一个组可用于其他域。第一组将不可用于其他域,第二组将不可用于主域。我怎样才能实现这个?

中间件是解决方案吗?我如何才能访问中间件中的当前域?

感谢您的帮助!

回答

1

这将返回当前主机,您也可以在中间件中使用:

$request->server->get('HTTP_HOST')

其实你可以只使用一个路由组一样(在你的routes.php文件):

Route::group(['domain' => '{sitedomain}'], function() 
{ 
    // routes here 

})->where('sitedomain', '.+\.your_domain_regex\.com$'); 
+0

如果与域不匹配,我可以抛出一个中止('404')? – Zoli

+2

@Zoli看到我更新的答案,您可以使用路线组来实现此目的。 – Ryan

+1

这也可以在控制器中使用? $ request-> server-> get('HTTP_HOST') – Zoli