gpt4 book ai didi

php - 在 Laravel 5 的中间件网络组中获取子域

转载 作者:可可西里 更新时间:2023-11-01 00:58:17 24 4
gpt4 key购买 nike

前段时间使用了 Laravel 5.2,但之前从未使用过子域。

目前我有:

Route::group(['middleware' => ['web']], function () {
//Login/Logout
Route::get('/', 'Auth\AuthController@getLogin');
Route::get('/auth/login', 'Auth\AuthController@getLogin');
Route::post('/auth/login', 'Auth\AuthController@postLogin');
Route::get('/logout', 'Auth\AuthController@logout');
});

问题是,如果我想获取一个子域(如果存在的话),我也不知道如何将它传递到中间件组内的 '/' 路由中。许多子域路由教程似乎没有包含/引用中间件 web(因为我在页面上有表单并且也需要此功能)。

Route::group(['middleware' => ['web']], function () {
//Login/Logout
Route::get('/', 'Auth\AuthController@getLogin');
Route::get('/auth/login', 'Auth\AuthController@getLogin');
Route::post('/auth/login', 'Auth\AuthController@postLogin');
Route::get('/logout', 'Auth\AuthController@logout');
});

Route::group(['domain' => '{account}.myapp.com'], function () {
Route::get('/}', function ($account) {
//Doesn't work
});
});

不起作用。我只想获取子域(如果存在),并将其插入,以便我可以在登录 View 中调用它。

最佳答案

这是我使用的方法。我将所有路由包装在 web 中间件中,并包装大部分其他路由,但公共(public)页面除外,如 homeabout 等,在 auth 中间件中。从那里,我可以在任何常量子域(如果适用)之后最后获取可变子域。

// Encapsulate all routes with web middleware
Route::group(['middleware' => 'web'], function () {

// Include auth routes
Route::auth();

// These routes are require user to be logged in
Route::group(['middleware' => 'auth'], function () {

// Constant subdomain
Route::group(['domain' => 'admin.myapp.localhost.com'], function () {
// Admin stuff
});

// Variable subdomains
Route::group(['domain' => '{account}.myapp.localhost.com'], function () {

// Homepage of a variable subdomain
Route::get('/', function($account) {
// This will return {account}, which you can pass along to what you'd like
return $account;
});
});
});

// Public homepage
Route::get('/', function () {
// Homepage stuff
});
});

它与我的设置配合得很好,所以我希望它能帮助您找到解决方案。

关于php - 在 Laravel 5 的中间件网络组中获取子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34979708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com