2017-09-22 31 views
0

如果我將在Laravel上創建一些應用程序(例如它將是project.com),並且在同一應用程序中,我將開發管理區域(包括ACL,用戶管理等) 。我可以像project.com一樣使用它作爲前端,但backoffice.project.com用於同一應用程序中的管理區域? 謝謝。Laravel單一應用程序,但前臺和管理區域

+0

這不是一個laravel問題。你可以創建子域和轉發請求 –

+0

https://laravel.com/docs/5.5/routing#route-group-sub-domain-routing – aynber

回答

1

可以保持在相同的Laravel項目和使用這兩個應用程序分組路由並按域過濾您的路由。

Route::group(['domain' => 'backoffice.project.com'], function() { 
    // your BACKEND routes... 
}); 

Route::group(['domain' => 'www.project.com'], function() { 
    // your FRONTEND routes... 
}); 

你也可以用中間件來補充路由選擇。

// in this case all backend routes will be passed to auth middleware. 
Route::group(['domain' => 'backoffice.project.com', 'middleware' => 'auth'], function() { 
    // your BACKEND routes... 
}); 

重要:

觀察該Laravel documentation談子域路由。在這種情況下,文檔的方法是使用動態子域,如以下示例所示。

Route::domain('{account}.myapp.com')->group(function() { 
    Route::get('user/{id}', function ($account, $id) { 
     // 
    }); 
}); 

在這種情況下,{account}是可以在路由組內部使用的路由參數。

你可以看到(和讀取)此處詳細瞭解Laravel路線:https://laravel.com/docs/5.5/routing

0

是的,你可以按域分組路由。

由於Laravel 5.3,你可以將它們像這樣:

Route::domain('project.com')->group(function() { 
    // Your frontend routes 
}); 

Route::domain('backoffice.project.com')->group(function() { 
    // Your backend routes 
}); 

Laravel 5.3,你可以將它們分組像在此之前:

Route::group(['domain' => 'project.com'], function() { 
    // You frontend routes 
}); 

Route::group(['domain' => 'backoffice.project.com'], function() { 
    // You backend routes 
}); 
相關問題