2017-10-13 12 views
0

私はこのサイト「localhost」を持っています。私はすべてのページが "localhost/order.aspx?r = 15"を除いてhttpsを持つ必要があります。ここでの問題は、 "localhost/order.aspx?r = 15"を含むすべてのページをHTTPSにリダイレクトすることです。私はまた、 のようなパターンを試してみました "^/localhostの/ order.aspx $" HTTPSは機能しません。

答えて

0

<rule name="Force HTTPS" stopProcessing="true"> 
 
    <match url="(.*)" /> 
 
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> 
 
    <add input="{HTTPS}" pattern="off" ignoreCase="true" /> 
 
    <add input="{REQUEST_URI}" pattern="(order.*)" ignoreCase="true" negate="true" /> 
 
    </conditions> 
 
    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" /> 
 
    </rule>
は、だから私はそれを修正しました。 多くの場合、ブラウザがHTTPSパスを覚えているので、ブラウザキャッシュをクリアします。 HTTPのみを提供してもHTTPSを取得しようとします。 IEを使ってこれをテストすることをお勧めします。

このようなルールを更新します。

<rule name="NoSSL - folder" enabled="true" stopProcessing="true"> 
 
    <match url="order.*" /> 
 
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> 
 
    </conditions> 
 
    <action type="None" /> 
 
</rule> 
 
<rule name="Redirect to HTTPS" enabled="true" stopProcessing="true"> 
 
    <match url="(.*)" /> 
 
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> 
 
     <add input="{HTTPS}" pattern="off" /> 
 
    </conditions> 
 
    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Found" /> 
 
</rule>

関連する問題