基于域的Laravel路由

时间:2019-11-11 17:53:05

标签: php laravel laravel-5 laravel-routing

我正在将一个核心PHP Web应用程序重新开发为Laravel 5.8应用程序,该应用程序具有(例如)主域:www.maindomain.com,并且基于URL前缀的路由组很少:

www.maindomain.com/user
www.maindomain.com/admin
www.maindomain.com/teacher

该应用程序还具有大约50个附加域,在旧应用中,所有这些都指向一个位置(例如:public_html / addondomains),显示的内容由$ _SERVER ['http_host' ]。

我想在Laravel中做同样的事情,但是我无法为插件域设置路由规则。因此,它需要将非maindomain.com的任何URL路由到控制器功能。有什么帮助吗? :)

1 个答案:

答案 0 :(得分:0)

您可以使用Route :: domain()

示例:

//http://www.maindomain.com/test
    Route::domain('www.maindomain.com')->group(function () {
        Route::get('/test', 'HomeController@test')->name('main.test');
    });

//http://example.maindomain.com/test
    Route::domain('{addon}.maindomain.com')->group(function () {
        Route::get('/test', 'AddonController@test')->name('addon.test');
    });

https://laravel.com/docs/5.8/routing#route-group-sub-domain-routing

确保已将服务器配置为通过一次Laravel安装即可为这些域提供服务。