我正在尝试实现REST协议,并且在尝试调试我的Web服务器不允许PUT
请求时意识到了。
我已经通过运行测试并进一步确认了这一点:
curl -X PUT http://www.mywebserver.com/testpage
我的网络服务器会返回 403 - 禁止错误。
DELETE
也是如此,POST
和GET
一切都很好。
我想知道这是一个常见的问题,那些使用REST的人会遇到什么以及可能会解决这些问题?
我可以对.htaccess
文件进行简单的更改吗?或者我是否需要修改协议以在POST查询字符串中设置隐藏变量“_method”?
答案 0 :(得分:56)
通常,Web服务器将被配置为阻止除GET和POST之外的任何内容 99%的时间他们都是需要的,并且有问题 过去的申请假设请求是这两个中的一个。
你没有说它是哪个服务器,但是,例如,你可以告诉Apache哪个 允许使用指令的方法:
例如:
<Limit POST PUT DELETE>
Require valid-user
</Limit>
听起来好像有些有用的系统管理员用它来阻止非GET / POST
您可以尝试使用
.htaccess
<Limit GET POST PUT DELETE>
Allow from all
</Limit>
(我不是apache的专家,这可能不完全正确)