我对此感到有点困惑。我希望这是我错过的非常明显的事情!我有一个非常简单的形式:
<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
。
在检查员的时间表中,我看到了这个请求:
答案 0 :(得分:11)
感谢对我的问题的评论,我发现答案是在apache配置中。看起来,因为index.php
文件位于名为page
的文件夹中,所以apache会自动重定向到带有斜杠的页面。这是Apache directorySlash documentation中的默认设置。
当他们警告不要关闭此功能时,我会将网址更改为我发布的内容。或者,当然,我可以添加一个.htaccess
文件,并设置正确的重写规则。\
感谢大家的帮助!作为旁注,Safari的检查员在这种情况下让我有点想要。 Chrome最适合进行测试。