首页 > 后端开发 > php教程 > 如何使用 .htaccess 在 PHP 中重定向期间保留 POST 数据?

如何使用 .htaccess 在 PHP 中重定向期间保留 POST 数据?

Linda Hamilton
发布: 2024-11-29 22:18:12
原创
785 人浏览过

How to Preserve POST Data During Redirection in PHP with .htaccess?

使用 .htaccess 在 PHP 中重定向 POST 数据

问题:

POST 数据可以提交到重定向到索引的虚假地址页?

场景:

网站使用 .htaccess 文件将所有请求重定向到 index.php。但是,当使用带有 POST 方法的表单向虚假地址提交数据时,POST 数据会在重定向过程中丢失。

分析:

默认 .htaccess此场景中使用的规则是:

RewriteRule send-mail index.php?send-mail [NC,L]
登录后复制

此规则正确地将请求重定向到index.php,但是 [L] (last) 标志停止进一步处理并丢弃任何 POST 数据。

解决方案:

要在重定向期间保留 POST 数据,请将 [L] 标志更改为 [P] (代理):

RewriteRule send-mail index.php?send-mail [NC,P]
登录后复制

解释:

[P] 标志的作用与 [L] 类似,停止规则处理,但它也指示代理模块完整地处理请求,包括任何 POST 数据。

其他注意:

  • 与 POST 请求相比,GET 请求可以传输的数据量受到限制。
  • 重定向到 index.php 的 .htaccess 规则是:
# serve files and dirs if they exist please, otherwise send to index
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php
登录后复制

以上是如何使用 .htaccess 在 PHP 中重定向期间保留 POST 数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板