Php 重定向后访问

Php 重定向后访问,php,apache,.htaccess,mod-rewrite,forms,Php,Apache,.htaccess,Mod Rewrite,Forms,这个问题非常类似于:(eariler问道)但这个答案似乎对我不起作用 我有一张表格: <form action="http://a.test.com/contact" name="contact" method="post"> 注意:我将其保留为[NC,L],因为当我将其更改为[NC,p]时,会出现500服务器错误 和my item.php <?php echo "<pre>"; print_r($_POST); echo "</pre>"; 您的“

这个问题非常类似于:(eariler问道)但这个答案似乎对我不起作用

我有一张表格:

<form action="http://a.test.com/contact" name="contact" method="post">
注意:我将其保留为[NC,L],因为当我将其更改为[NC,p]时,会出现500服务器错误

和my item.php

<?php
echo "<pre>";
print_r($_POST);
echo "</pre>";
您的“添加尾部斜杠”规则强制执行标题重定向:

# 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]
标题重定向将删除POST值

您必须删除该规则,或在提交帖子时禁用该规则:


为什么要重定向客户端?如果不想重定向,请删除重定向规则(或只删除重定向标志),从而丢失POST数据。我经常看到人们只使用基于正则表达式的比较,而不使用基于字符串的比较:
RewriteCond%{REQUEST_METHOD}=POST
。为什么?;-)@虫族公平点:)老实说,我甚至不知道记谱是可能的。谢谢,修好了
 [R=301,L]
# 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]