【发布时间】:2021-11-17 00:39:20
【问题描述】:
我在我的应用程序中使用子域路由,如果请求的路由在子域中不存在,我希望将子域路由的请求重定向到 404 页面。这是场景:
// Subdomain routes
Route::domain('app.mysite.test')->group(function(){
Route::get('/', function(){
dd("Home page for subdomain");
});
Route::get('/404', function(){
dd("Subdomain 404");
});
//... other subdomain routes here
});
// Top domain routes
Route::group(['namespace' => 'Site'], function(){
Route::get('/', function(){
dd("Main site home page");
});
Route::get('/login', function(){
dd("Main site LOGIN page");
});
});
在上述场景中,如果有人试图访问子域中不存在的路由(例如http://app.mysite.test/login),他们将被自动重定向到主站点的登录页面(即:http://mysite.test/login)。
我的问题是:如果用户尝试访问http://app.mysite.test/login,我如何将他们重定向到http://app.mysite.test/404?
【问题讨论】:
-
问题是为什么他们会被重定向到
mysite.test/login开始?这不是默认行为,您在此处共享的代码中没有任何内容可以执行此操作 -
我相信这是默认行为,这就是为什么文档说您的子域路由应该放在主域路由之上的原因。因此,如果一个请求不匹配子域中的任何路由,它会渲染来自主域的路由(如果存在)。
标签: php laravel routes subdomain