欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

laravel一个规则内是否支持多个子域名?

0

我们都知道laravel的路由支持子域名。如下

 
Route::group(array('domain' => '{account}.local.com'), function()
{

    Route::get('user/{id}', function($account, $id)
    {
        //
    });

});

但是我现在碰到一个问题,求就是本地开发环境、测试环境和线上生产环境是不同的子域名。比如说:

  • 线下:account.local.com

  • 测试:account.test.com

  • 生成:account.production.com

我除了写三遍路由规则意外。不知道有没有让一个路由规则中同时支持这3个子域名的方法?

Route::group(array('domain' => '{account}.local.com'), function()
{

    // route

});

Route::group(array('domain' => '{account}.test.com'), function()
{

    // route

});

Route::group(array('domain' => '{account}.production.com'), function()
{

    // route

});

-------------------------------分割线-----------------------------------------

如下就可以了。

Route::group(array('domain' => 'account.{env}.com'), function()
{

    // route

});

因为我还有其他域名,不想混合通用route所以就需要区分开

Route::group(array('domain' => 'help.{env}.com'), function()
{

    // route

});
 
 

3个回答

0

已采纳

三个环境的路由配置不需要配置domain,只要你三个域名都是指向Laravel,自然就共用了

 
0

是可以支持的,你自己测试了没?

 
0

也可以在配置文件里面做区分

Route::group(array('domain' => env('DOMAIN')), function()
{

    // route

});

.env

DOMAIN=xxx.xxx.com

普通分类: