Kom ihåg mig?
Home Menu

Menu


UrlRewriter.Net - erfarenheter?

 
Ämnesverktyg Visningsalternativ
Oläst 2010-05-24, 17:32 #1
peterbf peterbf är inte uppkopplad
Nykomling
 
Reg.datum: Sep 2008
Inlägg: 48
peterbf peterbf är inte uppkopplad
Nykomling
 
Reg.datum: Sep 2008
Inlägg: 48
Standard UrlRewriter.Net - erfarenheter?

Tjänare!

Hoppas allt är kung med er!


Jag har precis fått igång UrlRewriter.Net och lyckats testa med följande kod i Web.Config.

<rewriter>
<rewrite url="~/shop/clothes" to="~/Bank/BuyClothes.aspx" />
<rewrite url="~/shop/themes" to="~/Bank/BuyThemes.aspx" />
</rewriter>

Har nån några erfarenheter hur man använder QueryStrings för Id'n?

Idag har jag en massa URL'er som ser ut såhär:

www.sajten.com/bank/details.aspx?id=1

Ovanstående länk kan presentera Bill Clinton. Jag vill att den ska se ut:

www.sajten.com/bank/bill-clinton

Nån som har gjort nåt liknande förr?

Ciao!
peterbf är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-05-24, 17:44 #2
fabians avatar
fabian fabian är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jul 2004
Inlägg: 2 162
fabian fabian är inte uppkopplad
Klarade millennium-buggen
fabians avatar
 
Reg.datum: Jul 2004
Inlägg: 2 162
Jag har inte testat UrlRewriter.Net, men jag körde ISAPI_Rewrite förr och var mycket nöjd med det. Kan ju vara värt att kika på? Det är kompatibelt med modrewrite, och man skriver reglerna på samma sätt vilket gör att det är grymt lätt att hitta bra exempel mm. på nätet.

http://www.helicontech.com/isapi_rewrite/
fabian är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-05-27, 12:39 #3
StefanBergfeldts avatar
StefanBergfeldt StefanBergfeldt är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Sep 2004
Inlägg: 1 535
StefanBergfeldt StefanBergfeldt är inte uppkopplad
Bara ett inlägg till!
StefanBergfeldts avatar
 
Reg.datum: Sep 2004
Inlägg: 1 535
Du kan inte lista ut att Bill Clinton har Id=1

Du får antingen använda URLer som www.sajten.com/bank/bill-clinton-1 och hämta ut ettan och skicka vidare, annars får du skicka med "bill-clinton till http://www.sajten.com/bank/details.a...e=bill-clinton

Så här kan det se ut:
<add name="LangWQS" virtualUrl="([a-zA-Z\-]{2,5})/([a-zA-Z\-/_\d]+).aspx\?(.+)$" rewriteUrlParameter="IncludeQueryStringForRewrite" destinationUrl="/$2.aspx?$3" ignoreCase="true" />
StefanBergfeldt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-05-27, 13:01 #4
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
Citat:
Ursprungligen postat av StefanBergfeldt Visa inlägg
Du kan inte lista ut att Bill Clinton har Id=1

Du får antingen använda URLer som www.sajten.com/bank/bill-clinton-1 och hämta ut ettan och skicka vidare, annars får du skicka med "bill-clinton till http://www.sajten.com/bank/details.a...e=bill-clinton

Så här kan det se ut:
<add name="LangWQS" virtualUrl="([a-zA-Z\-]{2,5})/([a-zA-Z\-/_\d]+).aspx\?(.+)$" rewriteUrlParameter="IncludeQueryStringForRewrite" destinationUrl="/$2.aspx?$3" ignoreCase="true" />
Jag tycker det är snyggare att köra helt utan det vanliga siffer-id:t i url:er. Det ser bättre ut i länkar och för besökaren samt att url:erna blir lite kortare, särskilt om man har många sidor / höga id-nummer.
__________________
Full-stack developer, free for smaller assignments
tartareandesire är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-05-27, 13:13 #5
fabians avatar
fabian fabian är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jul 2004
Inlägg: 2 162
fabian fabian är inte uppkopplad
Klarade millennium-buggen
fabians avatar
 
Reg.datum: Jul 2004
Inlägg: 2 162
Jag skulle sätta en unik slug på varje sida, i detta fallet "bill-clinton" och sedan hämta den sida i databasen som har "bill-clinton" som slug. Likaväl som att du hämtar baserat på id kan du ju hämta sida baserat på slug.
fabian är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-05-27, 14:44 #6
StefanBergfeldts avatar
StefanBergfeldt StefanBergfeldt är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Sep 2004
Inlägg: 1 535
StefanBergfeldt StefanBergfeldt är inte uppkopplad
Bara ett inlägg till!
StefanBergfeldts avatar
 
Reg.datum: Sep 2004
Inlägg: 1 535
Att köra på Id har sina fördelar (även om det är snyggast utan)

1. Du behöver inte säkerställa att slug:en är unik, utan du har ett autonumber att förlita dig på
2. Att göra urval på Integer är snabbare än att göra det på text/varchar

Annars håller jag med om att det är snyggare utan siffrorna
StefanBergfeldt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-05-27, 17:18 #7
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
Citat:
Ursprungligen postat av StefanBergfeldt Visa inlägg
Att köra på Id har sina fördelar (även om det är snyggast utan)

1. Du behöver inte säkerställa att slug:en är unik, utan du har ett autonumber att förlita dig på
2. Att göra urval på Integer är snabbare än att göra det på text/varchar

Annars håller jag med om att det är snyggare utan siffrorna
1. Det är ju ett icke-problem som oftast bara är en fördel

2. Såvida man inte har extremt många sidor så är det ingenting som besökaren märker av
__________________
Full-stack developer, free for smaller assignments
tartareandesire är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-05-28, 09:50 #8
Bjorne Bjorne är inte uppkopplad
Flitig postare
 
Reg.datum: Sep 2009
Inlägg: 374
Bjorne Bjorne är inte uppkopplad
Flitig postare
 
Reg.datum: Sep 2009
Inlägg: 374
Citat:
Ursprungligen postat av StefanBergfeldt Visa inlägg
Att köra på Id har sina fördelar (även om det är snyggast utan)

2. Att göra urval på Integer är snabbare än att göra det på text/varchar

Annars håller jag med om att det är snyggare utan siffrorna
Hemligheten är att man sätter ett index på slug-kolumnen. Då går det exakt lika snabbt som om man använder en integer. Dock kräver det ju att koden är skriven så från början. Man kan inte bara slänga på rewrite rules och få till det.
Bjorne är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-05-28, 10:44 #9
StefanBergfeldts avatar
StefanBergfeldt StefanBergfeldt är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Sep 2004
Inlägg: 1 535
StefanBergfeldt StefanBergfeldt är inte uppkopplad
Bara ett inlägg till!
StefanBergfeldts avatar
 
Reg.datum: Sep 2004
Inlägg: 1 535
Bjorne, är du säker på det? Självklart är det bra (nödvändigt) med index, men är du säker på att det blir lika snabbt som index på en integer?
StefanBergfeldt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-05-28, 11:36 #10
fabians avatar
fabian fabian är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jul 2004
Inlägg: 2 162
fabian fabian är inte uppkopplad
Klarade millennium-buggen
fabians avatar
 
Reg.datum: Jul 2004
Inlägg: 2 162
Citat:
Ursprungligen postat av StefanBergfeldt Visa inlägg
Bjorne, är du säker på det? Självklart är det bra (nödvändigt) med index, men är du säker på att det blir lika snabbt som index på en integer?
Jag tror man skall ha en rätt saftig databas för att det skall räknas.

Testade att göra sökningar i en databas jag har. Ingen av sökningarna var cachad innan.

Att söka på slug tog 0.0008 sekunder.
Att söka på int tog 0.0007 sekunder.

Nu har jag iof bara ca 250 000 rader i databasen, men i den storleken gjorde det alltså mycket liten skillnad. Både int och slug är indexerade.
fabian är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 19:03.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017