2017-07-05 3 views
0

Nous avons une règle de réponse proxy inverse IIS, qui modifie l'en-tête HTTP Location .. J'essaie de décoder la logique et d'écrire la même logique dans xslt. comment le modèle de correspondance fonctionne et l'action réécrire et la valeur fonctionne et ce qui est R: 1, R: 2, R: 3 ici?Comprendre la règle de réécriture d'en-tête de réponse IIS Règle

<rule name="Change Location Header" enabled="true"> 
       <match serverVariable="RESPONSE_LOCATION" pattern="^http(s)?://([^/]+)/(.*)" /> 
       <conditions logicalGrouping="MatchAny" trackAllCaptures="true"> 
        <add input="{RESPONSE_STATUS}" pattern="^301" /> 
        <add input="{RESPONSE_STATUS}" pattern="^302" /> 
       </conditions> 
       <action type="Rewrite" value="http{R:1}://{R:2}/{R:3}" /> 
      </rule> 

Répondre

1

Votre règle est en train de changer le domaine dans l'en-tête de l'emplacement HTTP pour les réponses redirect

Comment fonctionne la condition de correspondance et ce qui est R: 1, R 2, R: 3

RESPONSE_LOCATION variable a l'URL de total. Par exemple:

https://demo.cloudimg.io/s/width/300/sample.li/boat.jpg 

Dans ce cas, après l'opération de correspondance avec regexp: ^http(s)?://([^/]+)/(.*) Mathces sera comme ça:

{R:0} https://demo.cloudimg.io/s/width/300/sample.li/boat.jpg 
{R:1} s 
{R:2} demo.cloudimg.io 
{R:3} s/width/300/sample.li/boat.jpg 
+0

Salut Victor, Merci pour la réponse, je l'apprécie vraiment. Puis-je savoir quelle serait la valeur modifiée Header Emplacement pour https://demo.cloudimg.io/s/width/300/sample.li/boat.jpg – sarma

+0

peut être quelque chose être réalisé en utilisant regex-remplacer dans xslt comme ci-dessous sarma