Can I group multiple domains in a routing group in Laravel? Can I group multiple domains in a routing group in Laravel? php php

Can I group multiple domains in a routing group in Laravel?


Laravel does not seem to support this.

I'm not sure why I didn't think of this sooner, but I guess one solution would be to just declare the routes in a separate function as pass it to both route groups.

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);

I'm not sure if there is any significant performance impact to this solution.


Laravel 5.1

 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 () {  ...});


You can pass on the domain name as well:

Route::pattern('domain', '(domain1.develop|domain2.develop|domain.com)');Route::group(['domain' => '{domain}'], function() {    Route::get('/', function($domain) {        return 'This is the page for ' . $domain . '!';    });});

Just in case you need to know with which domain name the controller is called.Tested it with Laravel 5.6.