しばらく前にLaravel5.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
});
});
動作しません。サブドメイン(存在する場合)を取得し、ログインビューで呼び出すことができるように、サブドメインを貼り付けたいだけです。
これが私が使用するアプローチです。私は内部のすべてのルートを包むweb
ような公開ページを除いて、ミドルウェア、およびほとんどすべての他のルートをラップhome
、about
で、など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
});
});
それは私のセットアップでうまく機能するので、解決に向けて役立つことを願っています。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加