如果没有index.php进入REST API,就无法到达POST数据

问题描述 投票:0回答:1

我有一个 API URL /avi,我想将数据 POST 到 index.php,但我无法获取该值。如果我添加带有 URL (/avi/index.php) 的 index.php,那么我可以获得 POST 数据。请帮我。 请检查我的 .htaccess 文件

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]
php .htaccess
1个回答
0
投票

我的 API 也遇到了同样的问题。

发生这种情况的原因是因为对

/api
的请求默认重定向到
/api/

重定向后会丢失您的 POST 数据。 (在我使用 API 制作的移动应用程序中,对

/api
的请求实际上会失败,因为我的 http 客户端被配置为不遵循重定向,因此请注意这一点)。

解决此问题最简单的方法是直接调用

/api/

如果您想让网址更漂亮,我想您可以添加重写规则。

@CBroe 实际上是对的,你不能只是重写。

我的另一个建议是,将每个端点作为

endpoint.php
文件,放在您的
api
目录或任何子目录中,并添加重写规则以将
.php
附加到您的 API 调用中。这样调用
/api/endpoint
就会通过
/api/endpoint.php
并运行你的 php 文件。

© www.soinside.com 2019 - 2024. All rights reserved.