我知道它被问了一百万次,但我不能为我的生活弄清楚为什么会这样。我已经构建了一个非常基本的API返回JSON字符串,但如果端点没有以正斜杠/
结束,则所有POST数据都将丢失。我的.htaccess
文件如下:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule . api-main.php [L]
</IfModule>
因此,当我请求http://example.com/api/endpoint/
时,POST数据会被保留,但当我访问http://example.com/api/endpoint
时,POST数据会丢失。
编辑:API的工作方式是查找具有名称的文件夹,以便真正的请求尝试查找/api/endpoint/post.php
,这意味着名为endpoint
的文件夹实际存在。我在尝试访问不存在/api/bob
的端点并转储$_POST
参数并且工作正常时已经确认了。这是apache的限制吗?