使用307在IE中重定向发布请求

时间:2013-01-12 10:48:58

标签: internet-explorer .htaccess http redirect post

我的心爱的Internet Explorer存在严重问题。

我有以下重定向:

RewriteRule ^add/(.*)/$ /_ucp/moduls/$1/add/add.php [L,R=307]

R = 308导致服务器完全崩溃,不知道原因 (这是htacces文件中的最后一行)

307的定义是

  

与历史上实施302的方式相反,请求   重新发出原件时不允许更改方法   请求。例如,使用另一个POST重复POST请求   请求

(http://en.wikipedia.org/wiki/List_of_HTTP_status_codes)

问题:

我认为这个定义很明确,不可能错过理解,该死的IE重定向使用GET方法!我的所有帖子数据都丢失了!

我使用F12开发人员工具跟踪重定向。

有谁知道如何修复/解决此问题。 我真的不想在我的源代码中使用神秘的网址:(

非常感谢:)

1 个答案:

答案 0 :(得分:1)

假设您使用的是apache,2.2版不支持使用308代码重定向(支持307)。但是,apache 2.4 支持支持使用308代码重定向(至少2.4.3)。 308代码为in experimental status,因此您不太可能在此时广泛采用。

根据this MSDN blog,IE版本6-10以静默方式处理307重定向。我在IE 9.0.12的副本上对此进行了测试,当使用307重定向响应POST请求时,请求的位置URL使用了它应该的POST请求。