首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.htaccess将所有带有数据的POST请求重定向到文件

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

Stack Overflow用户
提问于 2017-07-31 03:19:49
回答 1查看 4.6K关注 0票数 2

我在子文件夹(www.domain.com/API/)中有一个.htaccess文件,我需要将这个子文件夹的所有POST请求重定向到子文件夹中的一个文件(www.domain.com/API/Sub/manager.php)。

我必须说,所有的POST请求都有数据(2-10个参数),而且所有的数据也都是重定向的。

我读过一些帖子和网页,但它们不能解决我的问题。

我有这样的规则:

代码语言:javascript
复制
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)

有人能告诉我我做错了什么吗?

提前谢谢你。

这些是我查过的几页:

重定向后htaccess

似乎当.htaccess RewriteRule使用POST值时丢失了。得到的值都可以。怎么修?

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-02 02:51:06

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

若要在Apache下执行此操作,请更新最后一个规则,并以

QSA,L,R=307

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

对于血淋淋的详细信息,您可以看到整个HTTP代码列表及其含义这里。302代码没有按照您希望的方式运行的原因在协议页面中显式地被调用,如下所示(强调我的)

注意: RFC 1945和RFC 2068指定客户端不允许更改重定向请求上的方法。然而,大多数现有的用户代理实现将302视为303个响应,在Location字段上执行GET -值,而不考虑最初的请求方法。服务器添加了状态代码303和307,这些服务器希望毫不含糊地明确预期客户机的哪种反应。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45407002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档