搜索

首页  >  问答  >  正文

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

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

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

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

});

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

我除了写三遍路由规则意外。不知道有没有让一个路由规则中同时支持这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

});
伊谢尔伦伊谢尔伦2807 天前513

全部回复(3)我来回复

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 16:54:09

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

    回复
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-16 16:54:09

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

    回复
    0
  • 迷茫

    迷茫2017-05-16 16:54:09

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

    Route::group(array('domain' => env('DOMAIN')), function()
    {
    
        // route
    
    });

    .env

    DOMAIN=xxx.xxx.com

    回复
    0
  • 取消回复