URL Rewriter for IIS

Ved å bruker URL Rewriter kan web-administratorer lage regler for urler som  er lettere å huske for brukere og lettere å finne for søkemotorer.

Som eksempel bruker vi en nettbutikk som selger hvitevarer. En typisk url i nettbutikken vil være:

“produkter?kategori=vaskemaskin&produsent=miele”

Nettbutikken ønsker å benytte mer brukervennlige urler som dette:

produkter/vaskemaskin/miele”

Vi skal nå gå gjennom hvordan vi kan bruke URL Rewriter til å oppnå dette.

1. Gå til IIS Manager.
2. Velg web-området hvor du vil lage rewrite-regelen.
3. Dobbelklikk på “URL Rewrite”.
  start
  Har du ikke modulen kan den installeres via Microsofts Web Platform Installer eller lastes ned  her: x86 / x64.
5. Klikk på “Add Rules…” i “Actions”-ruten.
  click_add
6. Velg “Blank rule” i “Add rules”-dialogen.
  select_blank

Vi skal nå skrive vår rewrite-regel. Dette gjør vi ved å fylle ut følgende:

  1. Navnet på regelen (Name).
  2. Mønsteret som skal gjennkjennes (Pattern).
  3. Handling (Action)
Name

Navnet på regelen. I vårt tilfelle “Rewrite til produkter.aspx”.

Pattern

I “Pattern”-tekstboksen skriver vi:

“^produkter/([_0-9a-z-]+)/([_0-9a-z-]+)”

Dette er et “regulært uttrykk” som spesifiserer mønsteret som vil gjenkjenne alle urler hvor følgende betingelser er oppfylt:

  1. Begynner med “produkter/”.
  2. Inneholder en eller flere alfanummeriske tegn etter første “/”.
  3. Inneholder en eller flere alfanummeriske tegn etter andre “/”.

Merk at noen deler av det regulære uttrykket bruker paranteser. Disse brukes til å lage grupper. Disse gruppene kan vi bruker når vi skal spesifisere handling.

Action

Under “action” velger vi “Rewrite” fra listeboksen og i“Rewrite URL”-tekstboksen skriver vi:

“produkter.aspx?kategori={R:1}&produsent={R:2}”

Denne strengen spesifiserer verdien som urlen skal skrives om til. Merk at vi bruker {R:1} og {R:2} for å referere til gruppene vi definerte med paranteser i “Pattern”.

“Edit rule” siden ser nå ut som dette:

edit

Regelen lagres ved å klikke “Apply” på høyre side.

Rewrite-regler lagres enten i applicationHost.config eller web.config. For å sjekke regelen vi nettopp opprettet kan vi åpne web.config filen i mappen til web-området vårt. I denne filen finner vi en <rewrite>-seksjon med følgende definisjon:

<rewrite>
<rules>
<rule name="Rewrite to article.aspx">
<match url="^produkter/([0-9a-z]+)/([0-9a-z]+)” />
<action type="Rewrite" url="produkter.aspx?kategori={R:1}&produsent={R:2}" />
</rule>
</rules>
</rewrite>

Twitter Digg Delicious Stumbleupon Technorati Facebook Email