Laravel 5.7 多个域名同个项目不同路由地址

laravel 5.7 如何多个域名同个项目不同路由地址 ???
比方说我有个域名 a.com, 它有个子域名叫x.a.com
我想让a.com 访问项目的index路由,而x.a.com访问的是x路由
请问怎么操作???
尝试过 Route::group(['domain' => 'x.a.com'],function(){
dd('x.a.com');
});

导致a.com和x.a.com都打印出来'x.a.com'这个字符串

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 5

我也有相同需求……网上找了很久都没找到解决办法!
test.com www.test.com 访问index
admin.test.com 访问 admin
api.test.com 访问 api

6年前 评论
nfangxu
Route::domain('a.test.com')->group(function () {
    Route::get('/', function () {
        dd('a.test.com');
    });
});

Route::domain('b.test.com')->group(function () {
    Route::get('/', function () {
        dd('b.test.com');
    });
});

配置如代码, 访问 http://a.test.com 打印 a.test.com, 访问 b.test.com 打印 b.test.com

6年前 评论
黑哈尔 6年前

如何绑定不同的目录呢? app\HTTP\Controller\Index app\HTTP\Controller\Admin

6年前 评论
nfangxu

@chegnchegn 绑定不同的目录使用 namespace()

Route::domain('a.test.com')
->namespace('Admin') # App\Http\Controllers\Admin
->group(function () {
    Route::get('/', function () {
        dd('a.test.com');
    });
});

Route::domain('b.test.com')
->namespace('Index') # App\Http\Controllers\Index
->group(function () {
    Route::get('/', function () {
        dd('b.test.com');
    });
});
6年前 评论
carveybunt 6年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!