Slim框架和GET / PUT / POST方法

时间:2015-02-08 15:25:56

标签: api methods httprequest slim

例如,我使用此代码测试路线:

$app->get('/api', function () {                         
        echo 'get!';
});
$app->post('/api', function () {                            
        echo 'post!';
});
$app->put('/api', function () {                         
        echo 'put!';
});

对于api测试,我使用适用于Chrome的RestClient插件。

当我尝试执行GET请求时,响应是“获取!”#39;很好。

可是:

  1. 当我尝试执行POST请求时,响应也是“get!'”。为什么?它必须发布!'

  2. 当我尝试执行PUT请求时,(在响应标题中:允许:GET,HEAD,POST,OPTIONS,TRACE)超薄响应有405错误(方法不允许),并带有消息:

  3.   

    " URL / api不允许使用请求的方法PUT。"

    我做错了什么?

1 个答案:

答案 0 :(得分:4)

请确保您的.htaccess如下(来自slimphp/Slim@2.x):

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]