Я пытаюсь расширить старое веб-приложение, которое использует CodeIgniter 1.7 (я знаю ...), и у меня возникают проблемы. Я хочу, чтобы определенный маршрут был доступен только через запрос POST. Поэтому в верхней части функции у меня есть следующее:PHP REQUEST_METHOD POST превращается в GET
if ($_SERVER['REQUEST_METHOD'] != 'POST')
die ('Wrong request method: ' . $_SERVER['REQUEST_METHOD']);
Локально, на PHP 7.0.14 с встроенным веб-сервером PHP это прекрасно работает. Однако в производстве на сервере под управлением CPanel, работающем под управлением PHP 5.4.25, этого нет.
При отправке запроса на мой маршрут с почтовым почтам POST, я получаю следующее:
Неправильный метод запроса: GET
PUT, PATCH, DELETE ... все запросы получить правильно распознан. POST запросов, однако, кажется магическим образом GET запросов.
POST данные, которые я послал с просьбой, кажется, исчезает, а также и не должны быть найдены в любом $_POST
или $_GET
.
Кажется, что это не связано с каркасом CodeIgniter, поскольку, когда я вызываю файл вне рамки, я получаю тот же результат.
Любые мысли?
Возможно, тот же ответ, что и http://stackoverflow.com/questions/20268863/laravel4-post-unexplained-redirect-to-get (не уверен, что это дубликат). – LSerni
Какие-либо правила mod_rewrite? –
Кроме того, проверьте журналы доступа, если есть перенаправление. Вполне нормально реагировать с 302 после обработки запросов POST, чтобы избежать повторной отправки формы при перезагрузке страницы. –