在我的应用程序中,我需要设置一个响应任何页面的路线。
我已加入routes.php
文件:
// Handle all the pages
Route::get('{slug?}', 'Frontend\PageController@show');
它的确有效,问题是现在我需要一个管理部分,所以我在前一条路线之前添加了routes.php
:
Route::group( [ 'prefix' => 'admin', 'middleware' => config('admin.filter.auth') ], function(){
// other routes
} );
问题是网址site.com/admin
已被通配符捕获,因此我无法访问该网址。
这是完整的路线文件:
//admin routes
Route::group( [ 'prefix' => 'admin', 'middleware' => config('admin.filter.auth') ], function(){
Route::get('upload-file', 'Backend\UploadController@index');
Route::post('upload-file', 'Backend\UploadController@uploadFile');
Route::get('load-contacts', 'Backend\UploadController@loadContacts');
} );
// Handle all the pages
Route::get('{slug?}', 'Frontend\PageController@show');
我该如何管理?
答案 0 :(得分:0)
您可以通过提供一个应该用于匹配 slug 参数的正则表达式来轻松实现这一目标:
Route::get('{slug?}', 'Frontend\PageController@show')->where('slug', '.*');
/ admin 路径被全能路径捕获的原因是您没有为/ admin网址定义路由。唯一将单独处理的URL是
GET /admin/upload-file
POST /admin/upload-file
GET /admin/load-contacts