Jeg har webstedsnavn som http://www.abcd.com og på siden har jeg ordentlige detaljer. Så nu vil jeg vise i url http://www.abcd.com/hy2345 i stedet for http://www.abcd.com?propertydetails.aspx?id=hy2345

Her er et andet problem, hvis brugeren åbner http://www.abcd.com/hy2345 direkte, så omdirigeres automatisk til siden med korrekte oplysninger.

Tak på forhånd

  • Jeg tror, ​​der var et meget lignende indlæg denne frokosttid (GMT), der nævnte et bibliotek, der gjorde det ... dårligt se om jeg kan finde det :)
  • Her er linket: stackoverflow.com/questions/60857/…

Bruger du MVC? I så fald kan du konfigurere denne adfærd i filen global.asax.

  • Tak for dit svar, jeg har prøvet, men jeg fik det ikke

IIS URL Rewrite-værktøjet gør det virkelig nemt. De har et eksempel, der næsten er identisk med den regel, du skal oprette.

Sådan gør du det. Den måde, du anmodede om, gør det vanskeligt, fordi det ville forsøge at rute hver anmodning, så denne vil matche enhver url, der ligner www.abcd.com/properties/hy2345, men du kan nemt matche hy2345 med en brugerdefineret regex afhængigt af dit id navngivning af forretningslogik.

       

For IIS6 er dette lidt vanskeligere. ScottGu har et indlæg med dine muligheder (se sektion med titlen Approach 4). En anden mulighed er at se på UrlRewriter.net eller Ionics Isapi Rewrite Filter.

EDIT: denne metode kræver .aspx-udvidelsen

Jeg gjorde det for nylig, og det var overraskende meget let at gøre.

I min App_Data-mappe har jeg en xml-fil som følgende:

    

Og i min globale. Asax denne hurtige rutine:

void Application_Beginrequest(object sender, EventArgs e) { string ext = System.IO.Path.GetExtension(Context.Request.Path); if (ext != '.aspx') { return; } string root = Request.Url.GetLeftPart(UriPartial.Authority); string fullOriginalPath = Request.Url.ToString(); string relativePath = fullOriginalPath.Replace(root, ''); System.Xml.XmlDocument objXML = new System.Xml.XmlDocument(); objXML.Load(Server.MapPath('~/App_Data/URLRewrites.xml')); foreach (System.Xml.XmlNode node in objXML.DocumentElement.ChildNodes) { if (node.Name.ToLower() == 'rewrite') { string url = node.Attributes.GetNamedItem('url').Value.ToString(); if (relativePath.ToLower() == url.ToLower()) { string to = node.Attributes.GetNamedItem('to').Value.ToString(); Context.RewritePath(to); break; } } } } 

Hvis din side håndterer tilbageførsler, skal du implementere formularbrowseren yadda herfra, da et indlæg tilbage vil udsætte den uskrevne url.

arbejdet for dig: Charles Robertson | Ønsker du at kontakte os?

nyttige oplysninger