我正在用核心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永久移动错误。 它仅适用于获取请求。