2016-10-14 11 views
0

URLを持っていて、wwwの亜種https://www.example.comにSSL証明書を適用しました。私は、したがって、たとえば、以下のドメインがhttps://www.example.comにリダイレクトする必要があり、https://www.example.comすべてのURLの亜種をhttps://www.example.comにリダイレクトするためのURL書き換え

を指すように、このドメインのすべてのバリエーションを希望:

ウェブサイトはIIS7.5を実行しているWindows 2008サーバーでホストされており、いくつかのルールを作成していますURLリライトを使用してweb.configファイルにただし、以下のドメインがリダイレクトされません。ここで

は、私が現在持っている規則は、次のとおりです。

<!-- Redirect http non www to https www --> 
    <rule name="Redirect http://example.com to www" patternSyntax="Wildcard" stopProcessing="true"> 
     <match url="*" /> 
     <conditions> 
     <add input="{HTTP_HOST}" pattern="example.com" /> 
     </conditions> 
     <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" /> 
    </rule> 

    <!-- Redirect http to https --> 
    <rule name="Redirect http to https" enabled="true"> 
     <match url="(.*)" ignoreCase="false" /> 
     <conditions> 
      <add input="{HTTPS}" pattern="off" /> 
     </conditions> 
     <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" /> 
    </rule> 

私は仕事にこれを得ることにいくつかの支援をお願い申し上げますURL書き換えを使用します。理想的には、上記のルールを1つのルールに置き換えることをお勧めします。

答えて

0

以下のロジックに従ってみましょう。これは "Regex"を使用しています。

渡されるすべてのURLと一致し、その後のいずれかの条件に一致します。

  1. ホストが起動した場合はポート80はリダイレクトよりも使用されている場合
  2. をリダイレクトそしてexample.comと一致します。

これは、このためにwww.example.com

<rule name="Do It All" stopProcessing="true"> 
    <match url="(.*)" /> 
    <conditions logicalGrouping="MatchAny" trackAllCaptures="false"> 
    <add input="{HTTP_HOST}" pattern="^example\.com$" /> 
    <add input="{SERVER_PORT}" pattern="^80$" /> 
    </conditions> 
    <action type="Redirect" url="https://www.example.com/{R:1}" appendQueryString="true" redirectType="Permanent" /> 
</rule> 
+0

おかげヘンリーにHTTPSとは何example.comへのHTTPリダイレクトをカバーします。それは間違いなく改善されました。私はクッキーと歴史のキャッシュをクリアした後、Firefoxでそれをテストしました。以前私がexample.comと入力したとき、すぐにhttps://example.comにリダイレクトされ、セキュリティ警告が表示されました。今、私は欲しいものであるhttps://www.example.comにリダイレクトします。 しかし、https://example.comを入力すると、リダイレクトされず、セキュリティ警告が表示されるという問題が残ります。 – user2599927

+0

SSL証明書が役立つ場合、SSL証明書はexample.comではなくwww.example.comにのみ適用されます。私は、リダイレクトがそのトリックを行うことを望むために余分なコストを避けたかったのです。 – user2599927

+0

これをグローバルレベルまたはWeb.configで適用していますか?ウェブサイトに到達する前にグローバルレベルに移動してみてください。 IISのサーバー名をクリックしてそこに適用すると、applicationhost.configに入ります。 – Henry

関連する問題