繁体   English   中英

.htaccess将所有带有数据的POST请求重定向到文件

[英].htaccess redirect all POST request with data to a file

我在子文件夹(www.domain.com/API/)中有一个.htaccess文件,我需要将该子文件夹的所有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->文档已移动(链接到ww.domain.com/API/Sub/manager.php)

有人可以告诉我我做错了吗?

先感谢您。

PS这些是我研究过的一些页面:

重定向POST htaccess

当使用.htaccess RewriteRule时,似乎POST值丢失。 GET值确定。 怎么修?

.htaccess将所有子目录重定向到文件

您使用了错误的状态码。 简而言之,302代码并不要求浏览器重新传输所有数据(POST请求); 您需要改用307代码。

要在Apache下执行此操作,请将最后一条规则更新为

[QSA,L,R = 307]

如果您仅对 POST数据感兴趣,则甚至不需要QSA标志。

有关详细信息,您可以在此处查看 HTTP状态代码的完整列表及其含义。 302代码未按您希望的方式运行的原因在协议页面上明确指出,如下所示(强调我的意思)

注意:RFC 1945和RFC 2068指定不允许客户端更改重定向请求的方法。 但是,大多数现有的用户代理实现都将302视为303响应, 而不管原始请求方法如何,都对Location字段值执行GET 已为希望明确弄清客户端期望哪种反应的服务器添加了状态代码303和307。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM