Короткая версия:
Почему мое регулярное выражение не работает с:
->where('user', '^(?!(nova|nova-api)$).*$');
, но это работает:
->where('user', '^(?!nova).*$');
Длинная версия
Я установил Laravel Nova.
Nova регистрирует свои маршруты в самом конце (после web.php).Это приводит к проблеме, потому что мои пользователи имеют маршрут domain.com/username.
Теперь domain.com/nova не работает, но я переместил его на поддомен nova.domain.com.Однако API все еще приводит к проблеме.
Чтобы решить ее, я добавил эти ограничения «где», и теперь все работает.
//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
.(Смотрите здесь )
Моя цель состоит в том, чтобы только nova или nova-api не соответствовали.
Мое текущее регулярное выражение для этой проблемы выглядит следующим образом: 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)$).*$'
]);
});
Я не понимаю, почему он не работает.