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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设置Laravel项目以使用多个域名相关的知识,希望对你有一定的参考价值。

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

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


Issue

当我登录时,不管我是谁,我都会将用户重定向到

app.com/dashboard


Goal

我的目标是,来自的任何请求

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服务器上执行的操作吗?

答案

你如何重定向到/dashboard?你在$redirectTo设置LoginController吗?

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

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

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

public function index($domain) 

    return "Welcome to '$domain'";

以上是关于设置Laravel项目以使用多个域名的主要内容,如果未能解决你的问题,请参考以下文章

同一域上的多个 Laravel 5 项目

使用 apache 在单个 VPS 上托管多个 laravel 5.5 项目?

在 Laravel 中使用多个守卫时,在注册/登录后设置默认守卫

如何设置 MySql 工作台以与 laravel 一起使用?

如何在 Laravel 迁移中使用多个数据库设置外键约束

sh 设置laravel5项目以部署到共享主机提供程序