webForumDet fria alternativet

Byta %20 till - med isapi rewrite

ASP

4 svar · 677 visningar · startad av eee

Medlem sedan sep. 2005100 inlägg
Frågan#1

Använder isapi rewrite för att få lite mer sökmotorvänliga urler.

RewriteEngine On
RewriteRule (.*).asp produkt.asp?namn=$1 [NC]

Den koden gör ju att mina produkter får produktens%20namn.asp istället för produkt.asp?namn=produktens namn.

Dock vill jag ha url produktens-namn.asp istället så inte %20 är med, någon som vet hur jag löser det i min isapi rewritekod?

Medlem sedan juni 20019 519 inlägg
#2

red. läste lite för fort i tråden.

Läste lite på ISAPI_Rewrite's hemsida vad jag har fått uppfattning över det hela så kan man inte göra någon replace eller liknande (regExp / vanlig kod) på URL:en som kommer in.
Tyvärr så kan man inte göra det "stegvis" heller enligt http://www.isapirewrite.com/docs/#example

Medlem sedan dec. 19996 721 inlägg
#3

Hmm.. det är väl bara att du tolkar din querystring på lämpligt sätt. Rewriten behöver ju inte veta något.

namn=replace(request.querystring("namn")," ","-")

Medlem sedan sep. 2005100 inlägg
#4

Tack Emission!

Körde namn=replace(request.querystring("namn")," ","-") på första sidan så länken blir med - istället för mellanslag.

Sedan körde jag det omvända på själva produktsidan för att kunna hämta ut korrekt post ur sqldatabasen.

Tack för rådet :)

Medlem sedan juni 20008 205 inlägg
#5

Jag vet inte om det tilltalar ditt sinne för estetik lika mycket, men plustecken och %20 kan användas på samma sätt. Jag misstänker att du skapar länkarna med något i stil med Server.URLEncode(namn) & ".asp", det du skulle kunna göra då är att bara ersätta alla %20 med plustecken:
Replace(Server.URLEncode(namn), "%20", "+") & ".asp"

Då slipper du ändra någonting på produktsidan, samt att du inte riskerar strul med produkter som har streck i namnet.

261 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)