Новые маршруты и URL-адреса не работают на новом дроплете DigitalOcean, но работают на локальных и других дроплетах.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Новые маршруты и URL-адреса не работают на новом дроплете DigitalOcean, но работают на локальных и других дроплетах.

Сообщение Anonymous »

В нашем проекте мы используем Laravel 9 + Inertia + VueJs 3. Недавно мы столкнулись с проблемой, из-за которой новые маршруты не работают в новом дроплете DigitalOcean, хотя они отлично работают в наших локальных средах и других дроплетах DigitalOcean. Новая капля была создана с использованием того же шаблона, что и другие капли для этого приложения.
Шаги для воспроизведения:
Проблема была замечена после развертывания последней версии кода. В то время как старые маршруты продолжают работать нормально, новые маршруты не работают. Вот как мы это выяснили:
1.Действие «Сохранить» должно сделать запрос к API:

Код: Выделить всё

const saveSelection = () => {
axios
.post(route('clinician.set-device'), {
use_case_setting_id: deviceSlotId.value,
device_data: devices.value[selectedOption.value],
})
.then(() => {
...
};
2.Однако, как показано на рисунке, запрос не выполняется, и в консоли браузера не регистрируются никакие ошибки:
Изображение

3. Мы решили запустить приложение Vue в «watch» -режим на сервере. При этом мы увидели в консоли следующую ошибку:

Неперехваченная ошибка: ошибка Зигги: маршрут «clinician.set-device» отсутствует
список маршрутов.

Изображение

4. Используя php artisanroute:list, мы подтвердили, что маршрут существует на сервере:
Изображение

5. Мы попытались очистить кеш Laravel с помощью следующих команд: Кэш php artisan: очистить && php маршрут ремесленника: очистить && конфигурация php artisan: очистить && представление php artisan: очистить. Однако результат остался прежним.
Далее мы заменили маршрут на прямую ссылку и получили ответ 404:

Код: Выделить всё

const saveSelection = () => {
axios
.post('/api/clinician/set-device', {
use_case_setting_id: deviceSlotId.value,
device_data: devices.value[selectedOption.value],
})
.then(() => {
...
};
Изображение

Затем мы проверили существующие маршруты API, и все работало как положено:
Изображение

Наконец-то мы добавлен новый тестовый маршрут в файл routes/api.php. Он появился в общем списке маршрутов, но все равно вернул 404:

Код: Выделить всё

Route::get('test', function () {
return response()->json(['message' => 'Hello World!']);
});
Изображение

Изображение
ВопросПочему старые маршруты и URL-адреса работают, а новые нет?

Подробнее здесь: https://stackoverflow.com/questions/792 ... ng-on-loca
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»