Oprettet tor. d. 16. august 2012 kl. 15:57:30

torotune
torotune (10.794 point. Point ude: 30)

UrlRewriter.NET - hjælp til regel

Hej,

Jeg har prøvet at test UrlRewriter.net-komponenten, med udgangspunkt i denne artikel som beskriver problemstillingerne:

http://weblogs.asp.net/ (...)

Der ligger et sample-website til download derinde, men jeg kan simpelthen ikke få det til at passe til mit behov, som i første omgang er totalt simpelt. Nemlig at en url som f.eks.
bliver tastet således ud i browseren:

http://localhost/ (...)

kommer til at se sådan ud:

http://localhost/ (...)

Hvordan dælen kan den regel i web.config se ud?

Sample-websitet kan downloades her: http://www.scottgu.com/ (...)

Optimalt skal man jo have trukket ID'et fra querystring'en ind og have lavet noget titel-generering som så skydes ud i URL'en.

Hvordan vil den slags se ud - vil man der skulle benytte Global.asax?

Håber nogen kan hjælpe lidt.

Mvh.

Skrevet tor. d. 16. august 2012 kl. 16:27:23| #1

keysersoze
keysersoze (321.513 point)
www.soze.dk
Der kan selvfølgelig være specifikke grunde til at du har kigget på urlrewriter (fx gammelt framework eller IIS), men som udgangspunkt får du en lettere tilgang til det ved at benytte hvad der er indbygget i .NET nemlig Routing.

Skrevet tor. d. 16. august 2012 kl. 18:15:36| #2

torotune
torotune (10.794 point)
Hej Keysersoze, jeg vil hellere end gerne bruge de nye routing features i version 4, men jeg var af det indtryk at URL routing og URL rewrite ikke er det samme, derfor har jeg bøvlet en del
med de 3. parts komponenter der ligger derude.

Men dvs. der er mulighed for at skrive URL's med variable querystrings om til noget smukkere? Sat sammen med titel hentet fra database on the fly - altså som i ovenstående
hvor

/default.aspx?PageID=32

bliver til eks.:

/navnet-paa-min-side-med-id-32

Skrevet tor. d. 16. august 2012 kl. 19:11:35| #3

janus_007
janus_007 (34.050 point)
kig på http://www.iis.net/ (...), den er langt nemmere at configurere igennem IIS'en :)

Der er forskel på routing og rewriting, omend den måske ikke er stor. http://ruslany.net/ (...)

Skrevet tor. d. 16. august 2012 kl. 20:48:36| #4

torotune
torotune (10.794 point)
Hej janus_007 - tak for links.

Jeg tror dog jeg får problemer denne vej da jeg ikke selv hoster min løsning. Den kører gennem Scannet og jeg får nok ikke lov at konfigurere IIS'en i så vid udstrækning, selvom der dog er begrænset adgang via Plesk.

Skrevet tor. d. 16. august 2012 kl. 23:27:32| #5

keysersoze
keysersoze (321.513 point)
www.soze.dk
http://msdn.microsoft.com/ (...)

Men du skal vende den lidt om - som udgangspunkt vil ingen taste

/Default.aspx?ID=32

ind i adresselinjes og du skal ikke linke sådan. derimod må det forventes at links ser sådan ud

/rewritetest/32

og dem skal du så fange med din omskrivning og sende ned til fx din default-side og så behandle der. indtaster nogen første url bør du derimod have en 301 redirect til den nederste url.

Skrevet fre. d. 17. august 2012 kl. 09:18:58| #6

torotune
torotune (10.794 point)
Hej Keyser - mange tak for svar.


Jeg tror mit problem har været at "den skal vendes om" som du siger. Dvs. links skal omskrives til den anden form...

Men problemet er, at hvis det skal lægges ind over et eksisterende projekt vil der stadig være mange links oprettet som ser ud som eksempelvis: Default.aspx?ID=32

Dem vil man vel være nødt til at fange, og omskrive til den nye form. Vil det skulle gøres i eksempelvis Global.asax under application_beginrequest-metoden, hvor jeg så omskriver og 301-redirecter til den nye form?

Skrevet lør. d. 18. august 2012 kl. 18:59:58| #7

keysersoze
keysersoze (321.513 point)
www.soze.dk
det er lidt svært at svære på når du ikke fortæller hvordan de er oprettet - men det bør være muligt at få rettet op på så alle links er korrekte.

Application_BeginRequest vil være et fint sted af fange uhensigtsmæssige links men der er ingen endelig opskrift på hvordan det absolut skal gøres.

Skrevet tor. d. 30. august 2012 kl. 16:10:40| #8

torotune
torotune (10.794 point)
Hej igen, jeg er kommet igennem det nu, det var et kæmpe arbejde fordi det var en eksisterende løsning, men nu virker det.

Er der muliged for at skjule nogle values hvis jeg f.eks.
har

http://www.minside.dk/ (...)

Her er jeg ikke så interesseret i at vise 264, men det er alligevel et ID jeg bruger på min side til at trække noget indhold fra databasen via RouteData.Values("ID")

Kan jeg skjule dette i url'en, men stadig tilgå det?

Skrevet tor. d. 30. august 2012 kl. 22:23:39| #9

keysersoze
keysersoze (321.513 point)
www.soze.dk
hvis det ikke står i din URL kan du ikke få fat i værdien medmindre du laver en specifik regel til at håndtere den enkelte URL.

Skrevet søn. d. 02. september 2012 kl. 18:58:37| #10

torotune
torotune (10.794 point)
Jeg siger mange tak for hjælpen.

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   


Seneste spørgsmål

Undgå duplikeret kode i en asp.net web form applikation

Oprettet den 15. maj 2013 kl. 00.36
jan_h giver 100 point for svar | Giv et svar »

Perfect Full Page Background Image

Oprettet den 9. maj 2013 kl. 14.09
koppelgaard giver 200 point for svar | Giv et svar »

web form application , create read update delete

Oprettet den 8. maj 2013 kl. 12.30
jan_h giver 60 point for svar | Giv et svar »








Tips & Tricks fra PC World

Teaser billede

Her er seks Google Labs-funktioner, som du skal slå til med det samme

Gmail Labs giver dig adgang til en masse smarte funktioner, som Googles ingeniører leger med i øjeblikket.


Anmeldelser fra PC World

Teaser billede

Test: Samsung Galaxy S4 er et hit - trods gøglertricks

Kan Samsung beholde førertrøjen i det store Android-race? Galaxy S4 er smækfyldt med innovative funktioner, men også med en del gøgl. Er det for meget? Få vores dom over Samsungs nye topmodel.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Tre smarte trick som gør Windows 8 bedre

Boot direkte til skrivebordet, få en strategisk godt placeret luk-knap og slip for at logge ind. Her er tre tips til Windows 8, som gør det nemmere at blive venner med styresystemet.


Nyheder fra Computerworld

Teaser billede

Galleri: Her er Googles nyeste værktøj og legetøj

Google har i denne uge afholdt udviklerkonferencen I/O i San Francisco. Se her hvad søgegiganten kunne præsentere af nyskabelser.


IT Kurser
Samarbejdspartnere

Udgiver · © 2013 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger