阿帕奇:不起作用(在 .htaccess 中)

阿帕奇:不起作用(在 .htaccess 中)

我正在尝试通过 .htaccess 在 Apache 中设置一些控件。这有效:

<LimitExcept GET>
    Order allow,deny
    Allow from all
    Deny from all
</LimitExcept>

但这不行:

<LimitExcept POST>
    Order allow,deny
    Allow from all
    Deny from all
</LimitExcept>

请帮助我了解这里发生了什么。

测试用例示例:

我创建了一个简单的 HTML 表单(form.html)来测试:

<form method="post" action="./test/index.html">
<input type="submit" name="submit" value="submit" />
</form>

沿着它,我创建了一个子文件夹“test”,其中包含两个文件:

  • index.html(<p>Hello world</p>)
  • .htaccess(内容与上面的代码块之一完全相同)

对于 .htaccess 文件的第一个版本,提交 HTML 表单会产生 403 错误,而直接访问(在浏览器中输入完整地址 - 例如 /test/index.html)不会被阻止。这是意料之中的。但是,对于 .htaccess 文件的第二版本,提交 HTML 表单和直接访问都会导致 403 错误。

我不认为这是一个错误(在 Apache 2.2 和 2.4 中测试过),但知道其他人可以复制它会很有帮助。当然,最终我想了解为什么事情没有按预期进行。

答案1

在 Apache 2.4 中只需编辑

 <LimitExcept POST>
            Deny from all
 </LimitExcept>

相关内容