【发布时间】:2011-06-06 00:54:26
【问题描述】:
这个问题非常类似于: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 作为操作。
一切顺利。 POSTing跳过htaccess,SO上的解决方案似乎不起作用。
提前致谢
【问题讨论】:
-
你为什么要重定向客户端呢?如果您不想重定向,请删除您的重定向规则(或仅删除重定向标志),从而丢失 POST 数据。
标签: php apache .htaccess mod-rewrite forms