php – Laravel 5,子域路由,带可选参数

我刚刚开始学习Laravel 5并尝试创建多语言网站,并希望为该语言使用不同的域名,因此en.example.app指向英语版本,es.example.app指向西班牙语等等.我使用路由组,下面是我的代码.
Route::group(['domain' => '{domain}.example.app'],function() {
    Route::get('/',function () {
        return view('index');
    });
    Route::get('test',function(){
        return view('index');
    });
});

它适用于除example.app之外的所有域.不幸的是,可选参数{domain?}不适用于子域,我不想复制这样的路由.

Route::get('/',function () {
    return view('index');
});
Route::get('test',function(){
    return view('index');
});

Route::group(['domain' => '{domain}.example.app'],function(){
        return view('index');
    });
});

有人可以建议如何避免这种重复吗?

多数民众赞成{domain} .example.app需要一个.在example.app之前.

你可以删除.并为域参数添加约束,使其至少为1.

所以代码看起来像

Route::group(['domain' => '{domain}example.app'],function($group) {
    Route::get('/',function ($domain) {
        //code
    }) ;
    // more routes

    foreach($group->getRoutes() as $route){
        $route->where('domain','[a-z]+\.{0,1}');
    }

});

附: :我不知道我的正则表达式是否正确.

相关文章

[laravel] laravel的数据库配置 找到程序目录结构下.env文件 配置基本的数据库连接信息 DB_HOST=127.0....
[Laravel] Laravel的基本HTTP路由 使用Laravel的基本路由,实现get请求响应,找到文件app/Http/routes....
如果说laravel框架的核心是什么,那么无疑是服务容器。理解服务容器的概念,对于我们使用laravel太重要...
网上有很多解析laravel中间件的实现原理,但是不知道有没有读者在读的时候不明白,作者是怎么想到要用a...
laraveli添加一个或多个用户表,以admin为例。 部分文件内容可能需要根据实际情况修改 创建一个Admin模...
TL;DR: 本文介绍 Laravel 的 FastExcel 组件,文中会对 PHP generators 速览,并给出如何在节约内存的同...