在Apache 2.4上启用PUT和DELETE方法

时间:2016-05-27 13:34:57

标签: apache lamp

我想在我的Apache 2.4下启用PUT和DELETE方法。当客户端尝试调用这些方法时,我得到一个“405 Method Not Allowed”作为答案。

在服务器端,我的PHP脚本处理这样的请求,但它似乎被服务器本身过滤了(这与已经回答的类似问题有所不同 - 而且其他问题似乎是指旧版本的Apache)。

我可以在.htaccess文件上管理一些配置,还是必须修改/ etc / apache2下的.conf文件?

非常感谢。

3 个答案:

答案 0 :(得分:5)

在您的服务器上尝试以下更改:

打开“/etc/httpd/conf/httpd.conf”并查找以下块:

<Limit GET POST OPTIONS PROPFIND>
  Order allow,deny Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
   Order deny,allow Deny from all
</LimitExcept>

然后在PROPFIND之后添加PUT和DELETE。然后通过“/ sbin / service httpd restart”或service httpd restart来重启httpd。

注意:在某些服务器中,主要是带有控制面板的服务器(DA,cPanel,..),您可以更改此文件:/etc/httpd/conf/extra/httpd-directories.conf

我希望它能解决你的问题。

答案 1 :(得分:0)

您可以使用 allowmethods_module 来启用它。

它从 apache 2.3 版开始可用,但仍处于实验阶段。

<Location "/path/to/directory">
   AllowMethods PUT DELETE
</Location>

答案 2 :(得分:0)

对于 Debian/Ubuntu。

在您的 conf 中:

<Location "/">
    AllowMethods GET PUT
</Location>

在控制台:

sudo a2enmod allowmethods
sudo systemctl restart apache2.service