Apache .htaccess重定向删除表单数据

时间:2014-01-16 22:02:28

标签: apache .htaccess mod-rewrite post

为了保持我的应用程序的一致性,我需要包含www的所有请求,所以我使用.htaccess这样的文件:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www\.) [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,QSA,NC,L]
</IfModule>

它运作得很好。但是,在没有www的情况下发送POST请求时,表单数据会被删除。这是预期的吗?有没有办法纠正这个?

1 个答案:

答案 0 :(得分:3)

在我遇到的每个浏览器中,状态如301,302或303的重定向响应始终作为GET处理。因此,客户端浏览器将看到重定向的POST请求,它将向重定向响应中提供的URL发出GET请求。请参阅我对以下问题的回答以及其他人添加的评论,以获取有关如何优雅地解决此问题的详细信息: Apache 301 Redirect and preserving post data