1

我对我们心爱的 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 开发人员工具跟踪重定向。

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

非常感谢 :)

4

1 回答 1

1

假设您使用的是 apache,2.2 版不支持使用 308 代码进行重定向(支持 307)。但是,apache 2.4确实支持使用 308 代码进行重定向(至少 2.4.3 支持)。308 代码处于实验状态,因此您目前不太可能看到广泛采用。

根据这个 MSDN 博客,IE 版本 6-10 静默处理 307 重定向。我在 IE 9.0.12 的副本上对此进行了测试,当一个 POST 请求以 307 重定向响应时,位置 URL 被请求一个 POST 请求,就像它应该做的那样。

于 2013-01-12T18:40:11.820 回答