Apache не отправляет параметры POST на URL индекса - PullRequest
1 голос
/ 06 сентября 2010

У меня проблема с отправкой параметров POST при моей относительно новой установке Apache.

В корне моего документа у меня есть файл test.html, который имеет следующее:

<form action="/test" method="POST">
  <input type="text" name="param" value="test" />
  <input type="submit" />
</form>

Мой файл .htaccess устанавливает индексный файл в serve.php следующим образом:

DirectoryIndex serve.php

Внутри serve.php я просто распечатываю параметр POST следующим образом:

<?= $_POST['param'] ?>

Как написано, это не работает.Если я изменяю метод на GET (а также изменяю файл serve.php для доступа к GET), он работает.Если я явно указываю, что действие должно быть «/test/serve.php», оно работает.

Почему-то кажется, что параметры POST теряются при преобразовании в индексный файл.Мысли о том, почему?

Ответы [ 3 ]

3 голосов
/ 07 сентября 2010

Похоже, что ваши данные POST теряются при перенаправлении с /test на /test/.

Попробуйте <form action="/test/" method="POST">

1 голос
/ 06 сентября 2010

Просто интересно, что GET работает из-за параметров, содержащихся в URL, тогда как в POST они не работают?

POST Отправляет данные для обработки (например, изHTML-форма) к указанному ресурсу.Данные включены в тело запроса.Это может привести к созданию нового ресурса или обновлению существующих ресурсов или к тому и другому.

Просто интересно, не передаются ли переменные, содержащиеся в теле запроса, директивой Apache, возможно, егочто-то, по мнению Apache, не потребуется?

0 голосов
/ 07 сентября 2010

Просто добавьте '/' к фиктивному URL-адресу ACTION!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...