简短版本:
为什么我的正则表达式不能使用:
->where('user', '^(?!(nova|nova-api)$).*$');
但这可行:
->where('user', '^(?!nova).*$');
长版
我安装了Laravel Nova。
Nova在最末端(在web.php之后)注册其路由。因为我的用户具有路由domain.com/username,所以这会导致问题。
现在,domain.com / nova无法正常工作,但我将其移至nova.domain.com子域。但是,API仍然会导致问题。
为解决此问题,我添加了这些“ where”约束,现在一切正常。
//web.php
Route::prefix('/{user}')->group(function () {
Route::get('/', 'Profile\ProfileController@index');
Route::view('/{offer}', 'pages.offering.food.show')
->where(['offer' => '.*'])
->where('user', '^(?!nova).*$');
});
但是会导致以下问题:正则表达式不与noval
之类的东西匹配。 (看here)
我的目标是仅
我当前针对此问题的正则表达式看起来像this:
^(?!(nova|nova-api)$).*$
我更新了正则表达式,但是由于某种原因,我收到了404的ajax调用:https://nova.mydomain.test/nova-api/cards
//web.php
Route::prefix('/{user}')->group(function () {
Route::get('/', 'Profile\ProfileController@index');
Route::view('/{offer}', 'pages.offering.food.show')
->where([
'anyfood' => '.*',
'user' => '^(?!(nova|nova-api)$).*$'
]);
});
我真的不明白为什么它不起作用。