Подтвердить что ты не робот

Почему $_SERVER ['REQUEST_METHOD'] всегда GET?

Я немного смущен. Я надеюсь, что это будет что-то дико очевидное, что я пропустил! У меня очень простая форма:

<form class="form-signin" role="form" name="login" method="POST" action="/page">
  <input type="password" name="password" />
  <input type="submit" value="Sign in" />
</form>

Примечание. эта страница живет в /page и отражается после следующего HTML:

В /page У меня есть это в самом верху файла:

<?php
var_dump($_SERVER['REQUEST_METHOD']);

По какой-то причине он всегда отображается как GET, когда я отправляю эту форму. Если я выведу часть action="/page", то она отображается как POST. Что мне здесь не хватает?

Примечание. Даже когда я загружаю страницу, после этого вызывается после выхода выше var_dump(), она все равно показывает GET.

В шкале инспекторов я вижу это для запроса:

enter image description here

4b9b3361

Ответ 1

Благодаря комментариям к моему вопросу я нашел ответ в конфигурации Apache. Похоже, поскольку файл index.php находится внутри папки с именем page, apache автоматически перенаправляет на страницу с косой чертой. Это значение по умолчанию, как показано в документации Apache directorySlash.

Как они предупреждают об отказе от этого, я просто изменю URL-адрес на то, что я публикую. В качестве альтернативы, конечно, я мог бы добавить файл .htaccess с правильной настройкой правил перезаписи. \

Спасибо за помощь! В качестве примечания стороны, инспектор Safari оставил меня немного желающим в этом случае. Chrome оказался гораздо лучшим вариантом для тестирования.