我在使用相对较新的Apache安装发送POST参数时遇到问题。
在我的文档根目录中,我有一个文件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参数似乎丢失了。想为什么?
答案 0 :(得分:3)
从/test
重定向到/test/
时,您的POST数据看起来会丢失。
尝试<form action="/test/" method="POST">
答案 1 :(得分:1)
只是想知道GET是否正在工作,因为URL中包含参数,而在POST中它们没有?
发表强> 将要处理的数据(例如,从HTML表单)提交到所标识的资源。数据包含在请求正文中。这可能会导致创建新资源或更新现有资源或两者。
只是想知道请求正文中包含的变量是否没有被Apache指令传递,也许是Apache认为不需要的东西?
答案 2 :(得分:-2)
只需将'/'添加到ACTION url dummy!