Версия Laravel: 5.6
Версия PHP: 7.1
Я закончил свой проект и протестировал его локально.Но когда я загрузил его на сайт общего хостинга, я получаю две ошибки (я не уверен, что это две отдельные ошибки):
DELETE http://SomeAddress/patients/440627036 403 (запрещено)
Не удалось загрузить http://SomeAddress/patients/440627036: Нет заголовка «Access-Control-Allow-Origin» на запрошенном ресурсе.Происхождение 'http://SomeAddress' поэтому не разрешено.Ответ содержал код состояния HTTP 403.
Это была проблема с CORS, которую, я думаю, я исправил.Я получал ошибку CORS только для PUT и DELETE (я не знаю, почему POST и GET работали!).Я добавил требуемые заголовки, и эта ошибка исчезла. Это заголовки, которые я добавил:
return $next($request)
->header('Access-Control-Allow-Origin', '*')
->header('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE, OPTIONS')
->header('Access-Control-Allow-Headers', 'Content-Type, Authorization, X-Requested-With')
->header('Access-Control-Allow-Credentials', 'true')
->header('Access-Control-Max-Age', '10000');
Но теперь я получаю еще одну ошибку (снова только для PUT и DELETE) - (Связано ли это с Laravel или с моим сайтом общего хостинга или с моим внутренним кодом?):
Запрещено
Вы не можетеУ меня нет разрешения на доступ к / пациентам / 440627035 на этом сервере.
Моя проблема с CORS полностью решена?Как я могу исправить эти ошибки?
Интерфейс (я использую ресурс AngularJS $ для отправки своих HTTP-запросов):
this.patientRes = function () {
return $resource(baseURL + 'patients/:id', {id: "@id"}, {
get: {
method: 'GET',
isArray: true,
headers: {'Content-Type': 'application/json'}
},
update: {
method: 'PUT',
headers: {'Content-Type': 'application/json'}
},
delete: {
method: 'DELETE',
headers: {'Content-Type': 'application/json'}
}
})
};
Обновление:
Моя структура файла была такой:
public_html / public / и мои файлы были здесь
Я изменил его на:
public_html / и мои файлы теперь здесь
Теперь я получаюэта ошибка: