为什么$ _SERVER ['REQUEST_METHOD']总是GET?

Leo*_*lis 22 php forms

我对此有点困惑.我希望这是我错过的非常明显的事情!我有一个非常简单的形式:

<form class="form-signin" role="form" name="login" method="POST" action="/page">
  <input type="password" name="password" />
  <input type="submit" value="Sign in" />
</form>
Run Code Online (Sandbox Code Playgroud)

注意:此页面位于/page以下HTML之后并在之后回显:

/page我有这个在文件的顶部:

<?php
var_dump($_SERVER['REQUEST_METHOD']);
Run Code Online (Sandbox Code Playgroud)

出于某种原因,它总是显示为GET我提交此表单时.如果我把action="/page"它拿出来然后就会显示出来POST.我在这里错过了什么?

注意:即使我加载页面,然后在上述var_dump()调用后退出,它仍然显示GET.

在检查员的时间表中,我看到了这个请求:

在此输入图像描述

Leo*_*lis 13

感谢对我的问题的评论,我发现答案是在apache配置中.看来,因为index.php文件位于一个名为的文件夹中page,所以apache会自动重定向到带有斜杠的页面.这是Apache directorySlash文档中的默认设置.

当他们警告不要将其关闭时,我会将网址更改为我发布的内容.或者,当然,我可以添加一个.htaccess具有适当重写规则设置的文件.

谢谢大家的帮助!作为旁注,Safari的检查员在这种情况下让我有点想要.Chrome被证明是一个更好的测试选择.