parallax background image

Herschrijf regels binnen IIS: Server variabelen

Gepubliceerd op 28 juni 2021 Leestijd : 2 minuten

 

In mijn vorige blog heb ik een korte introductie gegeven binnen de herschrijf regels module binnen IIS. In deze blog borduur ik voort op mijn vorige blog en zal ik het volgende onderdeel binnen de IIS herschrijfregels module bespreken: Server variabelen.

Server variabelen binnen IIS zijn variabelen die meer informatie geven over de server, de connectie met de client en het huidige verzoek naar de server. Server variabelen zijn erg handig binnen de IIS herschrijfregel module. Zo kun je server variabelen gebruiken in het opstellen van condities (komt een verzoek vanuit een bepaalde host of bevat de query string bepaalde waarden) of binnen een actie (het toevoegen van headers).

Ook kan IIS bepaalde informatie bewaren in server variabelen. In mijn vorige blog heb ik besproken dat als je gebruik maakt van meerdere herschrijf regels, deze herschrijf regels de URL kunnen aanpassen in de acties welke ze uitvoeren. IIS behoudt de originele URL in de volgende servervariabelen:

  1. HTTP_X_ORIGINAL_URL: deze servervariabele bevat de originele URL in gedecodeerd formaat;
  2.  UNENCODED_URL: deze servervariabele bevat de originele URL precies zoals deze werd aangevraagd

Ook kun je binnen herschrijfregels de server variabelen gebruikten om toegang te krijgen tot bepaalde onderdelen van de URI. Stel, je hebt de volgende URI:

https://www.sigmasolutions.nl:80/home/nl/blogs?autuer=Annabel&page=1

Dan kun je met de volgende server variabelen toegang krijgen tot de volgende onderdelen:

  1. Het regel patroon kijkt naar het pad: /home/nl/blogs
  2. QUERY_STRING heeft toegang tot: autuer=Annabel&page=1
  3. HTTP_HOST heeft toegang tot: www.sigmasolutions.nl
  4. SERVER_PORT heeft toegang tot: 80
  5. SERVER_PORT_SECURE zal voor deze URL 1 zijn en HTTPS zal ON zijn, want de aanvraag gaat via HTTPS
  6. REQUEST_URI heeft toegang tot: /home/nl/blogs?autuer=Annabel&page=1
  7. PATH_INFO heeft toegang tot /home/nl/blogs

Deze variabelen kun je gebruiken in bijvoorbeeld het opstellen van condities waar een verzoek aan moet voldoen. De server variabele SERVER_PORT_SECURE kun je gebruiken om te controleren of een aanvraag wel via HTTPS verloopt en zo niet dit in de actie wel toepassen.

In mijn volgende blog zal het volgende onderwerp worden uitgelicht: patroon en condities.

Voor meer informatie over server variabelen:

  1. https://docs.microsoft.com/en-us/previous-versions/iis/6.0-sdk/ms524602(v=vs.90)
  2. https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/url-rewrite-module-configuration-reference

 

 

Onze klanten
Onze oplossingen