我一直在努力解决这个问题,并且不知道我做错了什么。
我在Apache服务器后面使用Slim3(带LAMP)。 HTTP GET
和POST
工作得很好。但是,PUT
和DELETE
会引发这种奇怪的错误。
Method not allowed
Method not allowed. Must be one of: GET
这是邮递员的header
,上面写着 - Allow -> GET
。这是什么设置的?感觉它是Apache配置,但是,我不知道如何解决这个问题。我在AWS(Linux)上运行我的API。
这是我的.htaccess
RewriteEngine On
# Some hosts may require you to use the `RewriteBase` directive.
# If you need to use the `RewriteBase` directive, it should be the
# absolute physical path to the directory that contains this htaccess file.
#
# RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
答案 0 :(得分:0)
必须使用/api/v1/spark/warranty/3
声明路由到put()
以便能够使用PUT
$app->put('/api/v1/spark/warranty/3', function() {
....
});
和DELETE,delete()
$app->delete('/some/other/url/api', function() {
....
});