我已经创建了一个中间件,可以根据用户的帐户类型将用户重定向到特定的子域。
我想阻止基本用户访问管理员子域并重定向回他们的主页。
我试过这个:
if($user->isAccountType('basic')){
return Redirect::to('basic.myapp.app/home');
}
return $next($request);
但所有发生的事情都是laravel会尝试重定向到admin.myapp.app/basic.myapp.app/home。
是否可以将它们重定向到basic.myapp.app/home?
答案 0 :(得分:1)
前置协议:
if($user->isAccountType('basic')){
return Redirect::to('http://basic.myapp.app/home');
}
return $next($request);
不是将子域硬编码到中间件或控制器中,而是将它们放在配置中,以便它们易于配置。
答案 1 :(得分:0)
你有没有试过这个?
if($user->isAccountType('basic')){
return Redirect::to('/basic.myapp.app/home');
}
return $next($request);
使用命名路线也是一个不错的选择
答案 2 :(得分:0)
尝试使用指定路线重定向,这将完美地运作:
return redirect()->route('route.name');
要获取路径名称,请使用以下artisan命令:
php artisan route:list