限制Apache2上的HTTP VERBS

我正试图限制在我的网站上使用某些HTTP动词。 我在Directory元素的VirtualHostconfiguration文件中input了以下内容:

<Limit GET POST HEAD> Allow from all </Limit> <Limit PUT DELETE OPTIONS> Deny from all </Limit> 

这似乎工作,但意想不到的结果:

在更改之前和之后,我运行了以下telnet / HTTP命令,

 open server 80 OPTIONS server/abs_path HTTP/1.1 User-Agent: Telnet/1.0 Host: server 

在更改之前,我收到了“允许”标题的成功响应。

但是,在改变之后,我预计会收到405个“不允许的方法”回应,但是我收到了403个“禁止访问”回复。

我需要改变在Apache返回405 HTTP响应?

非常感谢

经过三个小时的审查apache文档和testing,我发现我可以使用mod_rewrite正确地响应不需要的HTTP方法:

 RewriteEngine On RewriteCond %{REQUEST_METHOD} !=GET RewriteCond %{REQUEST_METHOD} !=POST RewriteRule .* /error/405.html [R=405,L]