2013-01-12 48 views
1

我對我們心愛的Internet Explorer有嚴重問題。在IE中使用307重定向發送請求使用307

我有以下重定向:

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

假設你使用Apache,2.2版不支持使用308重定向代碼使用神祕的URL(307被支持)。然而,apache 2.4 確實支持重定向308代碼(至少2.4.3)。 308代碼是in experimental status,所以在這一點上你不太可能看到廣泛的採用。

根據this MSDN blog,IE版本6-10以靜默方式處理307重定向。我在IE 9.0.12的副本上測試了這一點,並且當POST請求以307重定向響應時,位置URL被請求了一個POST請求,就像它應該的那樣。

+0

我讀過同一個博客。 但看看這個: http://img829.imageshack.us/img829/2194/iecrap.png 請求作爲POST出去,307被收回,一個新的GET請求出去了。 IE 9 也許這只是一個問題,當用JS開始請求,但仍然不能容忍! – mercsen

+0

@ user1972159也許你應該查看詳細的視圖,[在我的測試中,它是POST和POST](http://i.stack.imgur.com/jwchM.png),但都是通過點擊啓動的,而不是通過什麼樣的像你的情況下的JavaScript。 –

+0

是的,正如我所說,它看起來只是一個問題,當我使用jQuery.ajax開始請求時。似乎IE不保存該方法。 我真的很感謝你的工作:) 由於時間的泄漏,我無法改變這一點。它是一個非常複雜的結構,我從來沒有想過這會是一個問題。 雖然真的令人失望:( 每次IE ...... 嗯,我認爲這是「解決」。現在我用一個神祕的網址,並嘗試在版本2中改變的東西。 非常感謝你! 不幸的是我不能更新Apache,因爲它不是我自己的服務器。 (308) 但我真的很感激。 =) – mercsen