管理サブドメインを作成しようとしています( このように )
Route::group(['domain' => 'admin.localhost'], function () {
Route::get('/', function () {
return view('welcome');
});
});
ただし、 admin.localhost は localhost と同じように機能します。これを正しく行うにはどうすればよいですか?
私はLaravel 5.1とOSXのMAMPを使用しています
Laravelは先着順でルートを処理するため、最も具体的でないルートをルートファイルの最後に配置する必要があります。これは、同じパスを持つ他のルートの上にルートグループを配置する必要があることを意味します。
たとえば、これは期待どおりに機能します。
Route::group(['domain' => 'admin.localhost'], function () {
Route::get('/', function () {
return "This will respond to requests for 'admin.localhost/'";
});
});
Route::get('/', function () {
return "This will respond to all other '/' requests.";
});
しかし、この例では次のことはできません。
Route::get('/', function () {
return "This will respond to all '/' requests before the route group gets processed.";
});
Route::group(['domain' => 'admin.localhost'], function () {
Route::get('/', function () {
return "This will never be called";
});
});
Laravelの例...
Route::group(['domain' => '{account}.myapp.com'], function () {
Route::get('user/{id}', function ($account, $id) {
//
});
});
あなたのコード
Route::group(['domain' => 'admin.localhost'], function () {
Route::get('/', function () {
return view('welcome');
});
});
laravelの例を見ると、ルートでパラメーター$account
を取得しているため、この変数に従ってルーティングできます。これは、グループまたは任意のルートに適用できます。初期化..
そうは言っても、それがデータベースによって駆動されるものではなく、adminサブドメインでそれが必要な場合は、個人的にnginx構成としてこれを行います。
Nginxをローカルで(より簡単に)テストしたい場合は、dockerを使用して開発を行うことを個人的にお勧めします。
これがあなたの質問に答えることを願っています、そうでなければ私に知らせて、あなたのために答えようとします。