2013-07-17 53 views
0

我在IIS中將錯誤頁面設置爲httpRedirect.htm,當發現錯誤403.4時,嘗試將任何http請求轉換爲https。document.referrer變爲空白

所以如果用戶輸入一個http url到瀏覽器,它會觸發httpRedirect.htm頁面,並且會得到這個url,把http替換爲https,然後重定向到這個新的url。我希望這發生在JavaScript中。

但是,當我在httpRedirect.htm中使用document.referrer時,發現它總是返回空白。

這種情況有什麼特別的考慮嗎?使用此錯誤頁面的瀏覽器是否可以攜帶以前請求中的信息?

+0

你永遠不能依靠document.referrer。 deocument.referrer在來自書籤或輸入地址時總是空白。使用URL中的信息 – mplungjan

回答

0

您必須查看位置對象。重定向在服務器端。

方案:

  1. 你直接去http://example.com/index.html,並 httpRedirect.htm呈現。由於這是您訪問的第一頁,因此推薦人是空的。
  2. 您在http://test.com/index.html並點擊鏈接到 http://example.com/index.html。您現在正在看到httpRedirect.html, ,但引用者是之前的頁面,即 http://test.com/index.html

由於引用者依賴於瀏覽器,因此即使引用者對象中有任何內容,也不能確定引用者對象中有任何內容。一些防火牆和防病毒應用程序可能僞裝得很好。

如果您位於http://example.com/index.html並正在看到httpRedirect.htm,但位置.href仍爲http://example.com/index.html

你可以在這裏使用的位置看到一些示例代碼: http://kloudgate.wordpress.com/2013/05/30/how-to-redirect-http-to-https-using-iis7-0/