是否可以重定向帖子数据?

2020/11/11 14:22 · php ·  · 0评论

我有一个网站,所有请求都通过(无提示.htaccess被无提示地重定向index.php,然后PHP用于显示正确的页面(通过解析REQUEST_URI)。

我想知道是否也可以将POST数据提交到假地址?

我目前有这样的表格...

<form action="/send-mail" method="post">

我的.htaccess规则是

# redirect mail posting to index
RewriteRule send-mail index.php?send-mail [NC,L] 

我的index.php支票isset($_GET['send-mail'])工作正常。

但是,这似乎删除了应该发送给它的所有POST数据。

有没有办法保留帖子数据?我不想使用GET,因为它不能发送太多信息,尽管使用简单的查询表可能不会出现问题。

这是我.htaccess重定向到的index.php

# serve files and dirs if they exist please, otherwise send to index
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php

试试这个:

# redirect mail posting to index
     RewriteRule send-mail index.php?send-mail [NC,P]

“ P”的作用类似于“ L”,因为它停止处理规则,但它还告诉模块应将请求原封不动地传递给代理模块(意味着保留POST数据)。

您应该能够简单地重定向到index.php,然后在该脚本中访问$_SERVER['REQUEST_URI']并查看原始请求,而“发送邮件”保持不变。

顺便说一句,“不能发送太多信息”并不是使用POST的原因。使用POST的原因是该请求将修改您网站上的数据,而不是简单地检索数据。

假设您在页面上放置了带有诸如“ /delete_user?id=1234”之类的GET请求的超链接,然后一些搜索引擎无意地在该链接为您的网站建立索引时跟随该链接。这就是为什么GET请求不适用于修改数据的请求。

为了避免某些代理和Apache重写的问题,请传递POST数据或Content-Length: 0为空主体的请求设置标头。

最近,我遇到了一个问题,ApacheGETPOST处理空主体将请求转换为a 因此,代替此:

 curl -X POST https://example.com/api/user/123456789

传递Content-Length标题:

 curl -X POST https://example.com/api/user/123456789 -H 'Content-Length: 0'

或在体内传递某些东西:

 curl -X POST https://example.com/api/user/123456789 -d ''

只要您仅使用内部重写,而不使用HTTP重定向,就不会丢失POST数据。这是我在网站上使用的规则:

RewriteRule ^(.*)$ index.php/$1 [L]

尝试对Firefox使用HTTPLiveHeaders扩展名(或类似名称),并跟踪整个页面请求。确保没有HTTP重定向。如果您收到HTTP / 1.1 3xx响应和Location:http:// address标头,那就是问题所在。您发布的重写规则不应导致这种情况发生。如果您被重定向,则可能是您的PHP代码中有错误或正在应用的另一个重写规则。

我想将user_login.php重定向到seo友好的url(如/ user-login),并带有邮政表格数据,这对我有用。

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/user_login\.php [NC]
RewriteRule ^ user-login [QSA,R=301]
RewriteRule ^user-login$ user_login.php [QSA,L]

在查看文件中

<form action="<?php $siteurl;?>/user-login" method="post" id="user_login">
本文地址:http://php.askforanswer.com/shifoukeyizhongdingxiangtiezishuju.html
文章标签: ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!