Avatar billede pfp Nybegynder
26. april 2006 - 18:15 Der er 6 kommentarer og
1 løsning

UrlRewriting "hænger"

Hej,

Jeg har forsøgt at opsætte urlrewriting med biblioteket fra http://www.urlrewriting.net

Jeg har tilføjet følgende regler i min web.config:
<rewrites>     
      <add virtualUrl="~/shop/c(.*)/(.*).aspx"
          rewriteUrlParameter="ExcludeFromClientQueryString"
          destinationUrl="~/shop/Default.aspx?CategoryId=$1"
          ignoreCase="true" />

      <add virtualUrl="~/shop/p(.*)/(.*).aspx"
          rewriteUrlParameter="ExcludeFromClientQueryString"
          destinationUrl="~/shop/Page.aspx?PageId=$1"
          ignoreCase="true"
          />

      <add virtualUrl="~/shop/(.*)/(.*).aspx"
        rewriteUrlParameter="ExcludeFromClientQueryString"
        destinationUrl="~/shop/Item.aspx?ItemId=$1&amp;Key=$2"
        ignoreCase="true"  />     
        </rewrites>

De 2 nederste regler virker ganske fint, men den øverste (virtualUrl="~/shop/c(.*)/(.*).aspx) vil bare ikke...

Skriver jeg f.eks. url'en:
/shop/c216/gruppe-2.aspx så står den bare og loader i det uendelige.

Skriver jeg derimod den "ægte" url:
/shop/Default.aspx?CategoryId=216&Key=gruppe-2

Ja så virker alt helt som det skal.

Hvordan kan det være min regel ikke får redirectet til den rigtige url bagved?

/pfp
Avatar billede websam Nybegynder
26. april 2006 - 18:57 #1
I den sidste har du to variabler i din url det har du ikke i de øvrige som jeg vil tro skaber dine problemer, prøv at skifte den øverste ud med denne :

<add virtualUrl="~/shop/(.*).aspx"
          rewriteUrlParameter="ExcludeFromClientQueryString"
          destinationUrl="~/shop/Default.aspx?CategoryId=$1"
          ignoreCase="true" />

da du kun har en variabel i din oprindelige url skal du også kun have en i din nye url.

/Websam
Avatar billede pfp Nybegynder
26. april 2006 - 19:04 #2
Ingen forskel.

Iøvrigt er det heller ikke ønskelig på den facon, da jeg så ville få urlen
216.aspx istedet for /216/gruppe-2.aspx ??
Avatar billede websam Nybegynder
26. april 2006 - 19:42 #3
Min pointe er at du kun har en variabel i din oprindelige url men 2 (.*) i den omskrevne den mener jeg ikke holder ?

/Websam
Avatar billede pfp Nybegynder
26. april 2006 - 20:09 #4
Ja du har selvfølgelig ret. Jeg havde stiret mig så blind på det at jeg ikke forstod din pointe.

Men nu har jeg rettet reglen til:
<add virtualUrl="~/shop/c(.*)/(.*).aspx"
          rewriteUrlParameter="ExcludeFromClientQueryString"
          destinationUrl="~/shop/Default.aspx?CategoryId=$1&amp;Key=$2"
          ignoreCase="true" />

Og her er det stadig som om den bare loader i det uendelige...
Avatar billede websam Nybegynder
26. april 2006 - 20:22 #5
og dit link er :

www.side.dk/shop/c111/gruppe-1.aspx

For det burde virke, har lige testet det og det køre fint her
Avatar billede pfp Nybegynder
26. april 2006 - 21:24 #6
Ja det er mit link.
Avatar billede websam Nybegynder
27. april 2006 - 09:32 #7
så prøv lige at fjerne de 2 andre så du kan har den ene kørende.

/Websam
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester