我有一个工作的Laravel 5.2项目,使用本地运行(宅基地)和生产(在AWS上配置通配符子域路由的伪造的子域路由)。我的本地项目有一个admin.project.app主机文件条目,并成功路由到admin.project。 应用程序而我的生产版本路由到admin.project。 com。在生产和开发中的Laravel域路由
我的本地.env文件具有变量APP_ENV = local,而我的.env ongege具有变量APP_ENV = production。到现在为止还挺好。
我遇到的问题是,我期望Laravel基于我在本地运行(扩展名为.app)或生产(使用.com的扩展名)使用此类型来解析域通配符路由规则:
Route::group(['domain' => 'admin.project.*'], function()
{
Route::get('/', '[email protected]');
});
我遇到的问题是,要么Laravel,Ngnix,AWS,或伪造的,要求我明确的路线是这样,这似乎完全是多余的:
if (App::environment('local')) {
Route::group(['domain' => 'admin.project.app'], function()
{
Route::get('/', '[email protected]');
});
}else{
Route::group(['domain' => 'admin.project.com'], function()
{
Route::get('/', '[email protected]');
});
}
或者也许我的期望是错的;)任何指针a对我可能做错的事感到非常感激!
第二种解决方案是一个很好的解决方案。然而,当路线有自己的参数时,第一个肯定会造成混乱。因为如果你有一个像这样的Route :: get('user/{name}','UsersController @ show');',action方法将接收两个参数'show($ tld,$ name)',所以具有自己的参数的所有路由动作最终都需要添加额外的'$ tld'参数。 – Bogdan