2016-04-27 25 views
1

Ich weiß, das ist eine einfache Frage, aber ich finde nur die Antwort nicht. Ich habe die unten Regel angewendet ...http zu https in IIS

<rewrite> 
      <rules> 
      <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> 

Die URL mich interessiert hat das Muster

http://[domain]/[directory]/[aspx page] 

So http://example.com/funstuff/thefair.aspx

Das Ergebnis der Rewrite wird http://[domain]/[an_aspx_page]

Also das Umschreiben entfernt das Verzeichnis.

Ich nahm an, dass die {R: 1} einen Parameter angibt, der umgeschrieben wird, und ich versuchte https: // {HTTP_HOST}/{R: 1}/{R: 2}, aber dies führte zu einem 500 Fehler .

Ich möchte den gesamten Verkehr in dieser Domäne zu https leiten, ohne den Rest der vom Benutzer eingegebenen URL zu ändern.

+1

{R: 1} und {R: 2} (etc) repräsentieren Erfassungsgruppen für einen regulären Ausdruck, der der URL entspricht. Sie haben keine zweite Erfassungsgruppe, weshalb {R: 2} nicht definiert ist. http://www.iis.net/learn/extensions/url-rewrite-module/creating-rewrites-rules-for-the-url-rewrit-module –

Antwort

2

Folgendes wird auf einer unserer Websites verwendet, um den gesamten Datenverkehr automatisch auf die https-Version umzuleiten. Es enthält auch alles andere in der URL.

+0

perfekt! Vielen Dank. schönes Profilbild – tintyethan