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

2022-08-30 17:53:07

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

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

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

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

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

由于某种原因,它总是显示为我提交此表单时。如果我把零件拿出来,那么它显示为.我在这里错过了什么?GETaction="/page"POST

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

在检查器的时间轴中,我看到了请求的以下内容:

enter image description here


答案 1

感谢对我的问题的评论,我发现答案是在apache配置中。看起来,因为该文件位于名为 的文件夹中,apache将自动重定向到带有斜杠的页面。这是在 Apache 目录斜杠文档中看到的默认设置。index.phppage

由于他们警告不要关闭此功能,因此我将只将URL更改为我发布的内容。或者,当然,我可以添加一个具有正确重写规则设置的文件。.htaccess

感谢大家的帮助!顺便说一句,在这种情况下,Safari的检查器让我有点缺乏。事实证明,Chrome是一个更好的测试选择。


答案 2

推荐