Можно ли группировать несколько доменов в группе маршрутизации в Laravel?

Скажем, у меня есть следующее:

Route::group(array('domain' => array('admin.example.com')), function() { ... }); Route::group(array('domain' => array('app.example.com')), function() { ... }); Route::group(array('domain' => array('dev.app.example.com')), function() { ... }); 

Есть ли способ, чтобы несколько доменов совместно использовали группу маршрутизации? Что-то вроде:

 Route::group(array('domain' => array('dev.app.example.com','app.example.com')), function() { ... }); 

Кажется, Ларавель не поддерживает это.

Я не уверен, почему я не думал об этом раньше, но я думаю, что одним из решений было бы просто объявить маршруты в отдельной функции, как передать их обеим группам маршрутов.

 Route::group(array('domain' => 'admin.example.com'), function() { ... }); $appRoutes = function() { Route::get('/',function(){ ... }); }; Route::group(array('domain' => 'app.example.com'), $appRoutes); Route::group(array('domain' => 'dev.app.example.com'), $appRoutes); 

Я не уверен, есть ли значительное влияние на это решение.

Laravel 5.1

 
Route::pattern('subdomain', '(dev.app|app)'); Route::group(['domain' => '{subdomain}.example.com'], function () { ... });
Route::pattern('subdomain', '(dev.app|app)'); Route::group(['domain' => '{subdomain}.example.com'], function () { ... }); 
 
Route::pattern('subdomain', '(dev.app|app)'); Route::pattern('domain', '(example.com|example.dev)'); Route::group(['domain' => '{subdomain}.{domain}'], function () { ... });
Route::pattern('subdomain', '(dev.app|app)'); Route::pattern('domain', '(example.com|example.dev)'); Route::group(['domain' => '{subdomain}.{domain}'], function () { ... }); 

Заинтересованы в этом! Я пытаюсь зарегистрировать локальный маршрут развития субдомена + для одного действия контроллера.

т.е.

 # Local Dev Route::group(array('domain' => "{subdomain}.app.dev"), function() { Route::get('/{id}', 'SomeController@getShow'); }); # Production Server Route::group(array('domain' => "{subdomain}.app.com"), function() { Route::get('/{id}', 'SomeController@getShow'); }); 

Я пытался:

 # Failed Route::group(array('domain' => "{account}.app.{top_level_domain}"), function() { Route::get('/{id}', 'SomeController@getShow'); }); 

Но это провалилось.

Не огромная проблема, так как DesignerGuy упомянул, что я могу просто передать функцию для обоих маршрутов – но это было бы просто более элегантно, если бы их можно было сгруппировать 🙂

проверьте в larvel docs , если вы являетесь основным доменом myapp, в производстве находится myapp.com а в локальной среде myapp.dev пытается использовать *

 Route::group(array('domain' => '{subdomain}.myapp.*'), function() { ... }); 

В настоящее время вы не можете. У меня такая же проблема'; мое исправление заключается в том, чтобы перебирать ваши поддомены с помощью foreach и регистрировать маршруты.

см. эту ссылку. http://laravel.com/docs/routing#sub-domain-routing

 Route::group(array('domain' => '{subdomain}.example.com'), function() { ... }); 

или Используйте этот пакет.

https://github.com/jasonlewis/enhanced-router

Это поможет вам установить, где на групповой маршрутизации, как это.

 Route::group(array('domain' => '{maindomain}'), function() { ... })->where('maindomain', '.+\.example\.com$');