2017-04-11 3 views
0

を書き換える:リダイレクトが多すぎますが、私は私のweb.configファイルで、このルールを使用HTTPSに私の訪問者をリダイレクトするにはループ

<rewrite> 
    <rules> 
     <clear /> 
     <rule name="HTTP to HTTPS redirect" stopProcessing="true"> 
      <match url="(.*)" /> 
      <conditions> 
      <add input="{HTTPS}" pattern="off" ignoreCase="true" /> 
      </conditions> 
      <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" /> 
     </rule> 
     </rules> 
    </rewrite> 

しかし、私はウェブサイトを訪問しようとすると、エラー(あまりにも多くのリダイレクト)を取得し、それはそうそれはループで立ち往生します。

https://example.comおよびhttps://www.example.comはokです。

しかし、これらのアドレスはエラーになる:

誰もこれで私を助けることができますか?

答えて

0

私は、これらのルールでの解決策が見つかりました:私は私の訪問者が各ページにhttpsにリダイレクトしたい

<rules> 
     <clear /> 
     <rule name="Redirect to HTTPS" stopProcessing="true"> 
       <match url="(.*)" /> 
       <conditions> 
       <add input="{HTTP_HOST}" pattern="^example\.com$" negate="true" /> 
       <add input="{HTTPS}" pattern="OFF" ignoreCase="true" /> 
       </conditions> 
       <action type="Redirect" url="http://example.com/{R:1}" /> 
      </rule> 
      <rule name="Redirect to WWW" stopProcessing="true"> 
       <match url=".*" /> 
       <conditions logicalGrouping="MatchAny"> 
       <add input="{HTTP_HOST}" pattern="^example\.com$" /> 
       </conditions> 
       <action type="Redirect" url="https://www.example.com/{R:0}" redirectType="Permanent" /> 
      </rule> 
     </rules> 
1

リダイレクトの無限ループがある場合。このヒントを試してください。

ログインしていない場合、「login.php」は「login.php」にリダイレクトされます。ログインしていない場合は「login.php」が「login.php」にリダイレクトされます。「login.php」はリダイレクトしますあなたがログインしていなければ "login.php"は "login.php"にリダイレクトされます。

リダイレクトは、おそらく現在のページは "login.php"ではありません。つまり、そのロジックをこのページから削除する。

+0

を。また、彼らが(http:// example.com/example.phpを訪問したとき) 'https:// example.com/example.php'にリダイレクトしたい – FredV

関連する問題