php – 重定向POST htaccess

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 重定向POST htaccess脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
这个问题非常类似于: Is it possible to redirect post data?(问问听者),但这个答案对我来说似乎不起作用.

我有一个表格:

<form action="http://a.test.COM/contact" name="contact" method="post">

一个附加域内,(test.com是一个插件),有一个子域(a.),里面有一个文件ITem.PHP和.htaccess

我的htaccess如下:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.PHP -f
rewriterule ^([^/]+)/$$1.PHP 

# Forces a trailing slash to be added
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$/$1/ [R=301,L]

#normal rewrites
RewriteRule ^[~|-]?([a-zA-Z0-9]+)[/]*$item.PHP?user=$1 [NC,L]

注意:我将其保留为[NC,L],因为当我将其更改为[NC,P]时,它给出了500服务器错误.

和我的item.PHP

<?PHP
echo "<PRe>";
print_r($_POST);
echo "</pre>";

并且无论表单包含什么,$_POST都是空白的……但是,如果我将http://a.test.com/item.php?user=contact作为动作.

一切顺利. POST跳过了htaccess,SO上的解决方案似乎不起作用.

提前致谢

您的“添加尾随斜杠”规则会强制执行标头重定向
[R=301,L]

标头重定向将丢弃POST值.

您必须删除该规则,或者为POST提交禁用它:

# Forces a trailing slash to be added

RewriteCond %{REQUEST_METHOD}  !=POST
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,L]

脚本宝典总结

以上是脚本宝典为你收集整理的php – 重定向POST htaccess全部内容,希望文章能够帮你解决php – 重定向POST htaccess所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。