如何禁用某些HTTP方法(例如PUT或TRACE),并让Apache发送HTTP“ 405方法不允许”。
我尝试了Limit和LimitExcept指令,但它们似乎发送“ 403 Forbidden”。
我有几个虚拟主机-应该在所有这些虚拟主机中,都位于主httpd.conf中。
如何禁用某些HTTP方法(例如PUT或TRACE),并让Apache发送HTTP“ 405方法不允许”。
我尝试了Limit和LimitExcept指令,但它们似乎发送“ 403 Forbidden”。
我有几个虚拟主机-应该在所有这些虚拟主机中,都位于主httpd.conf中。
Answers:
看起来错误代码的定义似乎确实有些困难。
但是,一种解决方法可能是使用mod_rewrite。因为至少有99%的看起来不可能的Apache问题mod_rewrite可以提供其伏都教舞蹈并解决您的问题,所以让我大吃一惊。
如果其他所有方法均失败,请尝试类似
RewriteEngine On
RewriteCond %{REQUEST_METHOD} !^GET [AND]
RewriteCond %{REQUEST_METHOD} !^POST
RewriteRule .* /yourerrordocuments/405.html [R=405,L]
我知道这可能不是最好的解决方案,但是应该可以解决...