ASP.NET rewrite

Upotreba tzv. „lepih URL-ova“ je sve češća u aplikacijama. Na našim UNIX serverima je vrlo jednostavno korišćenje mod_rewrite za rewrite URL-a, ali oni koji preferiraju Windows, i ASP.NET nemaju mogućnost da koriste mod_rewrite. Postoji jednostavna alternativa koja ne zahteva dodatne instalacije na serveru, to je UrlRewriter.NET.

Kako se koristi UrlRewriter.NET?

  • Dodajte referencu na Intelligencia.UrlRewriter.dll koji treba da snimite u vaš „bin“ direktorijum.
  • Otvorite Web.config fajl
  • Dodajte sledeći kod
<configSections>
<section
name="rewriter"
requirePermission="false"
type="Intelligencia.UrlRewriter.Configuration.
RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" />
</configSections>
<system.web>
<httpModules>
<add
type="Intelligencia.UrlRewriter.RewriterHttpModule,
Intelligencia.UrlRewriter"
name="UrlRewriter" />
</httpModules>
</system.web>

Sada možete da radite rewrite URL-a! Sledi nekoliko primera.

Naša aplikacija je web shop na kome se prodaju različiti mediji. U konkretnoj situaciji, imamo stranicu koja prikazuje sve proizvode u kategoriji kao: minwebshop.se / produkter.aspx? Category = dvd i to želimo da skratimo na minwebshop.se / dvd /.

Otvorite Web.config fajl u koji ste dodali UrlRewriter.NET i dodajte sledeće pravilo:

<rewriter>
<rewrite url="~/dvd" to="~/produkter.aspx?kategori=dvd" />
</rewriter>

Ovo pravilo je korisno ukoliko imate malo broj kategorija. Ukoliko je veći broj kategorija, nije praktično svaku kategoriju editovati manuelno. Uz pomoć regular expression, možemo generalizovati prethodno pravilo.

<rewriter>
<rewrite url="~/shop/(.+)" to="~/produkter.aspx?kategori=$1" />
</rewriter>

Ovo pravilo prikazuje sve varijante minwebshop.se / shop / dvd / za minwebshop.se / produkter.aspx? Category = dvd.

Tako možemo prikazati različite kategorije. Bilo bi korisno prikazati i proizvode kategorija. Proširićemo prethodno pravilo argumentom.

<rewriter>
<rewrite url="~/shop/(.+)/(.+)" to="~/produkter.aspx?kategori=$1&produkt=$2"/>
</rewriter>

Na taj način, kada korisnik ukuca na primer minwebshop.se/shop/dvd/terminator2 / upućuje se na minwebshop.se / produkter.aspx? category = dvd & product = terminator2.

Was this article helpful?

Related Articles