首页 > 解决方案 > 如何在 Laravel 中为用户显示相应的登录页面?

问题描述

我有一个应用程序,其中有三个用户,三个用户都有单独的登录 URL。

Eg: https://user1.mydomain.com
https://user2.mydomain.com &
https://user3.mydomain.com

我在 GoDaddy 中创建了上述 A 和 CNAME 记录,以将它们指向我的 AWS EC2 实例。并且还在 Apache 配置中创建了相应的 .conf 条目以启用所有这些站点。

现在,由于所有这些路由都由 Laravel 路由管理,我不确定在启用站点的 conf 文件下放置哪个文件夹以启用为每个子域显示正确的登录页面。目前我有这样的:

# Index file and Document Root (where the public files are located)
  DirectoryIndex login.html
  DocumentRoot /var/www/html/mydomain/public/

我的方法是正确的,还是我需要在其他地方进行更改才能完成?

标签: laravelapacheamazon-ec2subdomain

解决方案


您可以直接在 web.php Laravel 路由文件中根据您的子域管理登录页面。

例如:

<?php

Route::domain('user1.mydomain.com')->group(function () {
    Route::get('login', 'YourAuthController@loginUser1')->name('loginUser1');
});  

Route::domain('user2.mydomain.com')->group(function () {
    Route::get('login', 'YourAuthController@loginUser2')->name('loginUser2');
});  

Route::domain('user3.mydomain.com')->group(function () {
    Route::get('login', 'YourAuthController@loginUser3')->name('loginUser3');
});

参考资料:https ://laravel.com/docs/5.8/routing#route-group-sub-domain-routing


推荐阅读