![]() |
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! |
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/ |
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" /> |
Citat:
|
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.
|
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 |
Citat:
2. Såvida man inte har extremt många sidor så är det ingenting som besökaren märker av |
Citat:
|
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?
|
Citat:
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. |
Citat:
|
Citat:
|
Ah, men liten skillnad gör det alltså ;)
Dock tillräckligt liten för att det ska vara värt att undvika Id i URLer |
Själv har jag kört en cachad Dictionary <slug, id> för att slå upp slugs mot id:n, vet ej om det är optimalt men har gått väldigt snabbt och fungerat bra. Pratar ni om en indexerad tabell med slugs eller eller vanlig strängmatchnings query mot post tabellen där slugkolumnen finns?
|
Är man inte låst till .NET 2.0 eller äldre verkar aspnet35routing bättre. Har vi någon som har testat det och i så fall: vad tycker ni är bra resp. mindre bra?
Jag kör med det i senaste projektet och hittills har det fungerat bra! Framförallt gillar jag att man kan använda alias för ens regler så att man slipper hårdkodade sökvägar här och där. En annan fördel är att sidnamnen inte läggs till i URL:n vid postbacks, något som UrlRewriter tenderar att göra. |
Alla tider är GMT +2. Klockan är nu 23:08. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson