gpt4 book ai didi

php - 重定向 POST htaccess

转载 作者:可可西里 更新时间:2023-11-01 12:44:04 25 4
gpt4 key购买 nike

这个问题非常类似于: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作为 Action 。

一切顺利。 POSTing 跳过了 htaccess,SO 上的解决方案好像不行。

提前致谢

最佳答案

您的“添加尾部斜线”规则强制标题重定向:

 [R=301,L]

header 重定向将丢弃 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,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]

关于php - 重定向 POST htaccess,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4638678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com