如何重定向到laravel 5.1中的特定子域?

时间:2015-12-08 14:23:46

标签: php laravel laravel-5.1

我已经创建了一个中间件,可以根据用户的帐户类型将用户重定向到特定的子域。

我想阻止基本用户访问管理员子域并重定向回他们的主页。

我试过这个:

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?

3 个答案:

答案 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