多子域名配置
- 在域名解析设置里设置一条
CNAME解析记录:*.qkcargo.com - 在服务器管理后端,例如 BT 面板里,设置网站,添加泛域名:
*.qkcargo.com - 配置 Laravel (在 Laravel 中,你需要设置中间件来处理子域名的重定向。假设每个用户有一个唯一的子域名,你可以在用户登录后进行重定向。)
- 创建中间件,生成一个新的中间件来处理重定向:
php artisan make:middleware RedirectToSubdomain - 添加逻辑来处理子域名重定向
namespace App\Http\Middleware; use Closure; use Illuminate\Support\Facades\Auth; class RedirectToSubdomain { public function handle($request, Closure $next) { if (Auth::check()) { $user = Auth::user(); // 假设用户模型有一个 `subdomain` 属性 $subdomain = $user->subdomain; $host = $request->getHost(); if ($host !== "{$subdomain}.yourdomain.com") { $url = $request->getScheme() . '://' . $subdomain . '.yourdomain.com' . $request->getRequestUri(); return redirect()->away($url); } } return $next($request); } } - 注册中间件
- 在用户登录后设置子域名,在登录控制器中,设置用户的子域名(假设你在 users 表中有一个 subdomain 列):
return redirect()->to("http://{$subdomain}.yourdomain.com");
- 创建中间件,生成一个新的中间件来处理重定向:
