0

私は自分のウェブサイトを呼び出すことを使用しているすべてのユーザーを強制しようとしています

http://www.mysite.com

経由する

https://www.mysite.com

自動的。

次のマークアップを web.config に追加しました。

<rewrite>
      <rules>
         http:// to https:// rule 
        <rule name="ForceHttpsBilling" stopProcessing="true">
          <match url="(.*)billing/(.*)" ignoreCase="true" />
          <conditions>
            <add input="{HTTPS}" pattern="off" ignoreCase="false" />
          </conditions>
          <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}{REQUEST_URI}" />
        </rule>
      </rules>
    </rewrite>

type="redirect" 行に次のようなメッセージが表示されます。

モジュール認定が必要

これは、アセンブリを参照する必要があるか、「書き換え」ノードが別の親ノードの下にある必要があるが、それを理解できない/Googleから回答を得られないことを意味していると推測しています。

プロジェクトは ASP.Net であり、.Net 4.0 を使用して IIS7 でホストされています。

4

1 に答える 1

1

これを試して:

<system.webServer>
  <rewrite>
    <rules>
      <rule name="Force HTTPS" stopProcessing="true">
        <match url="(.*)" ignoreCase="true" />
        <conditions>
          <add input="{HTTPS}" pattern="^OFF$" />
        </conditions>
        <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>

編集:すべてのリクエストをリダイレクトしたいことがわかったので、「請求」への参照を削除しました...

IIS で直接実行する場合は、 URL 書き換えモジュールをインストールする必要があります。

于 2013-06-11T13:59:00.050 に答える