方法不允许(405)必须是以下之一:GET - Slim3 + Apache + AWS

时间:2018-03-19 02:31:36

标签: php apache slim put slim-3

我一直在努力解决这个问题,并且不知道我做错了什么。

我在Apache服务器后面使用Slim3(带LAMP)。 HTTP GETPOST工作得很好。但是,PUTDELETE会引发这种奇怪的错误。

Method not allowed Method not allowed. Must be one of: GET

这是邮递员的header,上面写着 - Allow -> GET。这是什么设置的?感觉它是Apache配置,但是,我不知道如何解决这个问题。我在AWS(Linux)上运行我的API。

enter image description here

这是我的.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]

1 个答案:

答案 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() {
   ....
});

请参阅Slim 3 Route documentation