我想在我的Apache 2.4下启用PUT和DELETE方法。当客户端尝试调用这些方法时,我得到一个“405 Method Not Allowed”作为答案。
在服务器端,我的PHP脚本处理这样的请求,但它似乎被服务器本身过滤了(这与已经回答的类似问题有所不同 - 而且其他问题似乎是指旧版本的Apache)。
我可以在.htaccess文件上管理一些配置,还是必须修改/ etc / apache2下的.conf文件?
非常感谢。
答案 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