0

IIS でエラー ページを httpRedirect.htm として設定し、エラー 403.4 がキャッチされたときに、http 要求を https に変換しようとしました。

したがって、ユーザーがブラウザに http URL を入力すると、httpRedirect.htm ページがトリガーされ、この URL が取得され、http が https に置き換えられてから、この新しい URL にリダイレクトされます。これをjavascriptで実現したい。

しかし、httpRedirect.htm で document.referrer を使用すると、常に空白が返されることがわかりました。

この状況について特別な考慮事項はありますか? このエラー ページを使用しているブラウザーは、前の要求からの情報を運ぶことができますか?

4

1 に答える 1

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が表示されている場合、location.href はまだhttp://example.com/index.htmlです。

ここで場所を使用したコード例をいくつか見ることができます: http://kloudgate.wordpress.com/2013/05/30/how-to-redirect-http-to-https-using-iis7-0/

于 2013-07-17T17:28:05.663 に答える