我感到困惑RedirectResult的行爲 - 在某些情況下(HTTPS),重定向似乎並沒有發生,但更像是轉移的東西。ASP.NET:回國後RedirectResult,URL不會在瀏覽器更新時將HTTPS使用
如果用戶試圖不被記錄在訪問內部頁面,他們將被定向到登錄頁面。登錄後,他們直接回我的應用程序,查詢字符串參數
schema://host:port/myApp?returnUrl=Inspections.mvc/Edit/43523
在HomeController中的代碼來處理這看起來對的redirectUrl,並做到這一點:
if (returnUrl != null)
{
return Redirect(returnUrl);
}
在我dev環境和一個QA環境,我發現重定向響應會返回到瀏覽器,如預期的那樣,會發出另一個請求。
但在生產和另一QA環境(它們都使用HTTPS),最後重定向不會發生。瀏覽器將繼續顯示URL
schema://host:port/myApp?returnUrl=Inspections.mvc/Edit/43523
,並顯示將由頁Inspections.mvc /編輯/ 43523返回的內容。
我困惑 - 是當使用RedirectResult這種預期的行爲? https有關的區別?
編輯:檢查流量,我看到,在環境中使用HTTPS有一個重定向(301-永久移動),但它是回一模一樣的地址:
schema://host:port/myApp?returnUrl=Inspections.mvc/Edit/43523
這些額外的信息離開像以前一樣令人迷惑的神祕。
你的描述匹配什麼,我認爲它應該做的。我確實使用了帶有http的Fiddler(和使用https的LiveHeaders),並且在後一種情況下,重定向回到同一個URL。神祕。 – 2013-05-07 04:17:47
你有沒有任何一種反向代理或你和應用程序之間的其他任何東西? – tucaz 2013-05-07 16:04:59