我有一个.htaccess
文件位于子文件夹 (www.domain.com/API/) 中,我需要将此子文件夹的所有 POST 请求重定向到子文件夹中的文件 (www.domain.com/API/Sub/manager.php)
我必须说所有 POST 请求都会有数据(2-10 个参数)并且所有数据大多数也会被重定向。
我已经阅读了一些帖子和页面,但它们无法解决我的情况。
我有这个规则:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ https://www.example.net/API/Sub/manager.php [QSA,L]
然而,我得到了类似的东西:
302 找到 --> 文档已移动(链接到
www.domain.com/API/Sub/manager.php)
有人可以告诉我我做错了什么吗?
先感谢您。
附:
这些是我查看的一些页面:
重定向 POST htaccess
使用 .htaccess RewriteRule 时,POST 值似乎会丢失。 GET 值没问题。怎么修?
.htaccess 将所有子目录重定向到文件
您使用了错误的状态代码。简而言之,302代码并不是请求浏览器重新传输所有数据(POST请求);而是请求浏览器重传所有数据。您需要改用 307 代码。
要在 Apache 下执行此操作,请更新最后一条规则以结尾
[QSA,L,R = 307]
如果你是only如果对 POST 数据感兴趣,您甚至不需要 QSA 标志。
有关详细信息,您可以查看 HTTP 状态代码的完整列表及其含义here。 302 代码未按照您希望的方式运行的原因在协议页面上明确指出,如下所示(强调我的)
注意:RFC 1945和RFC 2068指定不允许客户端
更改重定向请求的方法。然而,大多数
现有的用户代理实现将 302 视为 303
回复,无论如何,对位置字段值执行 GET
原始请求方法。状态码 303 和 307 有
已为希望明确表明哪些服务器添加
预期客户会有什么样的反应。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)