Неожиданное перенаправление 301 с Laravel, Vue, Ax ios и Nginx с разными URL-адресами одного вызова - PullRequest
0 голосов
/ 15 апреля 2020

Извините, если название не имеет смысла. Я уточню подробнее здесь.

Фон. Это работает на моем локальном компьютере с использованием камердинера, но не на Ubuntu 18.04 Production. Я использую Larvavel 6.18.7 и nginx verison 1.17.3 и перенаправления с использованием Certbot для http на https. Я думал, что это была общая проблема с платформой, но я решил проблему только с маршрутом к Route::post('/business', 'BusinessController@store');

Я часами отлаживал, поэтому я создал несколько тестовых страниц, которые, надеюсь, объяснят Это лучше. Теперь у меня есть два вызова Ax ios POST в компоненте Vue, но на самом деле это только бизнес-вызов.

axios.post('/business', {'q':"hello"})
.then(res => {
    console.log(res)
})
.catch(error => {
    console.error(error)
});

axios.post('/test', {'q':"hello"})
.then(res => {
    console.log(res)
})
.catch(error => {
    console.error(error)
});

Проблема, с которой я сталкиваюсь, - это маршрут /business, когда он называется I получить 301 Redirect. Laravel не нравится трейлинг / поэтому он 403, но его не следует перенаправлять. HTTP Calls

Оба эти go в том же месте, я разместил их в верхней части моих маршрутов, чтобы проверить, что бизнес больше не вызывается:

Route::post('/test', 'BusinessController@store');
Route::post('/business', 'BusinessController@store');

Вызовы точно такие же, они go в то же место, но у /business есть перенаправление.

Я попытался очистить кэш маршрутов. Там нет никакой дополнительной информации в моих журналах. Я видел

1 Ответ

1 голос
/ 15 апреля 2020

При использовании маршрутов необходимо убедиться, что имя не пересекается с содержимым / структурой вашей папки c publi. Если есть совпадение, файл .htaccess просто попытается получить доступ к файлу вместо него. Поскольку файл является папкой, он пытается загрузить его как страницу ftp (301), но не может, потому что он отключен по соображениям безопасности (403).

...