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

时间:2018-10-25 20:41:16

标签: php laravel nginx laravel-5 laravel-5.1

enter image description here

我已经成功配置了多个域以指向我的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

这是我可以在应用程序层或Web服务器上完成的事情吗?

1 个答案:

答案 0 :(得分:2)

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

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

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

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

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