2015-09-09 11 views
7

私は非WWWからWWWへのリダイレクトとhttpからhttpsへのリダイレクトのためにIISの2つのルールを実装しようとしています。IIS非wwwからwwwへのリダイレクトとhttpからhttps

http://zzz.com -> https://www.zzz.com 
http://www.zzz.com -> https://www.zzz.com 
https://zzz.com -> https://www.zzz.com 

だから、私は私のweb.configファイルにこれを追加しました:

<system.webServer> 
<rewrite xdt:Transform="Insert"> 
    <rules> 
    <rule name="Force WWW" enabled="true"> 
     <match url="(.*)" /> 
     <conditions> 
     <add input="{HTTP_HOST}" pattern="^[^www]" /> 
     </conditions> 
     <action type="Redirect" url="https://www.zzz.com/{R:1}" appendQueryString="true" redirectType="Permanent" /> 
    </rule> 
    <rule name="Force HTTPS" enabled="true"> 
     <match url="(.*)" /> 
     <conditions> 
     <add input="{HTTPS}" pattern="off" /> 
     </conditions> 
     <action type="Redirect" url="https://www.zzz.com/{R:1}" appendQueryString="true" redirectType="Permanent" /> 
    </rule> 
    </rules> 
</rewrite>  

私の質問:

一つのルールでこれを結合する方法はありますか?

答えて

11

はい、それらを1つにマージして、条件にlogicalGroupingを使用し、それを「OR」に相当するAnyに設定することができます。例:

<rule name="Force WWW and SSL" enabled="true" stopProcessing="true"> 
    <match url="(.*)" /> 
    <conditions logicalGrouping="MatchAny"> 
     <add input="{HTTP_HOST}" pattern="^[^www]" /> 
     <add input="{HTTPS}" pattern="off" /> 
    </conditions> 
    <action type="Redirect" url="https://www.zzz.com/{R:1}" appendQueryString="true" redirectType="Permanent" /> 
</rule> 
+0

これは機能します。ありがとうございました! –

+0

こんにちは私は自分自身の問題のためにこれを試してみると、私はhttps://example.com/に行くしようとすると、2012年のIIS 8を獲得する。 http://example.comはhttps://www.example.comとexample.comに移動しますが、https://example.comにアクセスするとこのサイトにアクセスできません example.comのサーバーのDNSアドレス見つけることができませんでした。 試してください:接続 プロキシ、ファイアウォールやDNSの設定 ERR_NAME_NOT_RESOLVED – MonkeyMagix

+0

の確認の確認ページ をリロード は、私はあなたが4バインディングを必要としないWWW – MonkeyMagix

関連する問題