2016-10-04 16 views
0

URL書き換えルールをリダイレクトしませ書き換え:IIS URLをHTTPからHTTPSにリダイレクトするためのサブフォルダ

<rewrite> 
    <rules> 
     <rule name="http to https" enabled="false" stopProcessing="true"> 
      <match url="(.*)" /> 
      <conditions> 
       <add input="{HTTPS}" pattern="^OFF$" /> 
      </conditions> 
      <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" /> 
     </rule> 
    </rules> 
</rewrite> 

ただし、古いブックマークを介して、またはブラウザにアドレスを入力してhttp://www.example.com/employeesなどのサブフォルダに直接移動したときに、 https://www.example.com/employeesにリダイレクトされませんが、http://www.example.com/employeesにとどまります。

奇妙なことに、devサイトと同じ書き換えルールがあり、http://dev.example.com/employeesからhttps://dev.example.com/employeesにリダイレクトされます。

非常に奇妙です。何か案は?

答えて

0

これは私が使用しているものです。これをapplicationhost.configファイルに追加すると、グローバルレベルになります。それはあなたのものとは少し異なります。私は多くの異なるサイトを運営しており、あなたがこれをやっているような問題は決してありません。

<rule name="Root Redirect to HTTPS" enabled="true" stopProcessing="true"> 
    <match url="(.*)" /> 
     <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> 
      <add input="{SERVER_PORT}" pattern="^80$" /> 
      <add input="{HTTP_HOST}" pattern="example\.com$" /> 
     </conditions> 
    <action type="Redirect" url="https://www.example.com/{R:0}" /> 
</rule> 
+0

非SSLサイトをホストするサーバーで使用できますか?私は、devサイトでそれを試して、それは、生産サイトと同じことをやって、httpsにサブフォルダをリダイレクトしませんでした。 – gottmine

+0

私はいくつかのSSLサイトといくつかの非SSLサイトを持つサーバー上で実行しています。 IISのglobalrulesレベルでそれを行う場合は、どのようなサイトで作業するのかを伝えるために、この条件を持つ必要があります。 。 – Henry

関連する問題