我有2套路线,域名保存在HOST
的env文件中,第一组可以由example.com
加入,第二组应该使用somesubdomain.example.com
,这项工作,问题是当我无法从subdomains route
重定向到root routes
时,subdomain
仍然存在以致root route
赢了,我试过了使用named routes
但它会重定向到xampp信息中心的localhost/dashboard
。
//root routes
Route::namespace('Main')->domain(env('HOST'))->group(function(){
Route::get('/','Home\HomeController@getMain')->name('inicio');//i have tried to name the route but this just redirect to localhost/dashboard
});
//subdomain routes
Route::namespace('Stores')->domain('{subdomain}.'.env('HOST'))->group(function(){
Route::get('/',function(){
return redirect()->route('inicio');
});
});
这两条路线都有效,如果不是redirect
我做return 'foo';
它会在有子域时显示foo,并在它没有时返回一个视图。
如何删除子域并重定向到路由?
答案 0 :(得分:1)
我认为解决方案可能是重定向到没有任何参数且没有绝对URL的命名路由,例如:
//root routes
Route::namespace('Main')->domain(env('HOST'))->group(function(){
Route::get('/','Home\HomeController@getMain')->name('inicio');
});
//subdomain routes
Route::namespace('Stores')->domain('{subdomain}.'.env('HOST'))->group(function(){
Route::get('/',function(){
return redirect()->to(route('inicio', [], false);
});
});
唯一的变化是重定向应该看起来像:
return redirect()->to(route('inicio', [], false);
第一个参数是命名路由,第二个参数包括任何参数(在本例中为none),第三个参数指定URL是否应该是绝对的。
我手边没有环境来测试这个,但希望这是一个适合你的解决方案。