如果我将在Laravel上创建一些应用程序(例如它将是project.com),并且在同一个应用程序中,我将开发管理区域(使用ACL,用户管理等)。我可以将它作为project.com用于前端,但backoffice.project.com用于同一应用程序中的管理区域吗? 感谢。
答案 0 :(得分: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
答案 1 :(得分: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
});