设置 Laravel 项目以使用多个域名

Set up Laravel project to work with multiple domain names

我已成功配置多个域指向我的 Laravel 5.1 项目

<Virtualhost *:80>
  VirtualDocumentRoot "/Users/Sites/project/public"
  ServerName app.com
  UseCanonicalName Off
</Virtualhost>

<Virtualhost *:80>
  VirtualDocumentRoot "/Users/Sites/project/public"
  ServerName app2.com
  UseCanonicalName Off
</Virtualhost>

<Virtualhost *:80>
  VirtualDocumentRoot "/Users/Sites/project/public"
  ServerName app3.com
  UseCanonicalName Off
</Virtualhost>

当我去

app.com app2.com app3.com

它们中的任何一个都将指向我的项目并加载登录屏幕。


问题

当我登录时,无论我来自何时,我都会将我的用户重定向到

app.com/dashboard


目标

我的目标是,来自

的任何请求
app.com  --> log-in --> redirect to --> app.com/dashobard
app2.com --> log-in --> redirect to --> app2.com/dashobard
app3.com --> log-in --> redirect to --> app3.com/dashobard

这是我可以在应用层或网络服务器上做的事情吗?

您如何重定向到 /dashboard?您是否在 LoginController 中设置了 $redirectTo

通常,您可以使用与此类似的方式托管多个域。

Route::domain('{domain}')->group(function() {
    Route::get('/dashboard', 'DashboardController@index';
});

然后在控制器中,您可以获取域变量并对 return 适当的域执行您需要的操作。

public function index($domain) 
{
    return "Welcome to '$domain'";
}