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'这个字符串

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 5

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

4年前 评论
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

4年前 评论
黑哈尔 4年前

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

4年前 评论
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');
    });
});
4年前 评论
carveybunt 4年前

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