带有目录和路由组的Laravel应用程序URL

时间:2016-10-06 11:31:45

标签: php laravel laravel-5

laravel应用程序网址将类似于app.laravel.com\{clientName}。所有路线都将遵循client_name,例如app.laravel.com\{clientName}\homeapp.laravel.com\{clientName}\profile。将加载/呈现应用程序取决于clientName

routes/web.php我宣布两条路线

Route::get('/{clientName}', 'ClientController@index');
Route::get('/{clientName}/home', 'HomeController@index');

ClientController将在数据库中查找clientName并加载所有客户端属性并将共享它。如果客户名称不存在,则abort(404)

问题是HomeController目前还没有进行此项检查,因此无论clientName我使用的是什么,都会通过&显示主页。

我的问题是如何在clientName后对所有路线进行分组,并且所有路线都会经过clientName验证?

我考虑过middleware,如果我使用公共middleware,我如何在中间件中访问路由中的clientName

1 个答案:

答案 0 :(得分:2)

根据Laravel官方文件,

You may also use the prefix parameter to specify common parameters for your grouped routes:

Route::group(['prefix' => 'accounts/{account_id}'], function () {
    Route::get('detail', function ($account_id)    {
        // Matches The accounts/{account_id}/detail URL
    });
});

希望它有所帮助。