无法对同一网址使用get和post方法

时间:2019-09-03 12:33:49

标签: php .htaccess

我正在用核心php构建REST api。这将从数据库中创建,获取,更新,删除项目。为此,我正在编写htaccess文件。由于我只有一个网址,因此该网址应接受所有类型的方法,根据该方法,我将决定需要采取的措施。创建,删除,更新,获取项目

RewriteEngine on
RewriteBase /hem/

#this should accept post or put method for create
RewriteCond %{REQUEST_METHOD} ^POST
RewriteRule ^api/items$ api/items/index.php 

#this should accept get or delete method for fetch and delete and update
RewriteCond %{REQUEST_METHOD} ^[GET|DELETE|PUT]$
RewriteRule ^api/items/([0-9]+)?$ api/items/index.php?item_id=$1

1)curl -d'{“ key1”:“ value1”,“ key2”:“ value2”}'-H“ Content-Type:application / json” -X POST http://localhost/hem/api/items

这应该仅发布用于创建新项目的数据

2)curl -d'{“ key1”:“ value1”,“ key2”:“ value2”}'-X PUT http://localhost/hem/api/items/3

这应该只更新3个数据

3)curl -X DELETE http://localhost/hem/api/items/3

这应该只删除项目3

但是,当我从命令行中单击它时,显示 301永久移动错误。 它仅适用于获取请求。

0 个答案:

没有答案