我需要捕获所有路由,除了那些包含/ api / segment的路由。 我知道如何捕捉每条路线
Route::any('{all}', 'AngularController@serveFrontend')->where('all', '(.*)');
但是我需要更改什么才能使我的api路由不被此字符串捕获?
答案 0 :(得分:5)
您可以捕获路径不以api
Route::any('{all}', 'AngularController@serveFrontend')->where('all', '^(?!api).*$');
或者只是将您的捕获物作为最后一条路线,它将按预期工作。
答案 1 :(得分:1)
只需将/api/
段之前的路径放置在此之前,它就能按您的意愿运行。所有与API相关的URL都将通过第一个路由进行处理,其他所有URL将使用第二个路由进行处理。
答案 2 :(得分:0)
您可以捕获除以 /api
开头的路线外的所有路线
Route::any('{any}', [UserController::class,'index'])->where('any', '^(?!api).*$');
答案 3 :(得分:0)
对于多个例外,您可以使用 |
标识符:(例如 nova)
Route::get('/{all}','AngularController@serveFrontend')->where('all','^(?!api|nova).*$');