Kom ihåg mig?

Regular expressions

Ämnesverktyg Visningsalternativ
Oläst 2008-09-10, 20:22 #1
Martin Martin är inte uppkopplad
Medlem
 
Reg.datum: Nov 2003
Inlägg: 162
Martin Martin är inte uppkopplad
Medlem
 
Reg.datum: Nov 2003
Inlägg: 162
Jag håller på och pekar om lite sidor i asp.net för att få snyggare urler och använder då regularexpressions enligt följande:

<rewrite url="~/(.+)/(.+).aspx" to="~/Page.aspx?s=$2"/>

Detta gör att t.ex www.mindomän.se/länkar/länk1.aspx pekar till www.mindomän.se/Page.aspx?s=länk1

Det är ju klockrent men nu vill jag ha en riktig undermapp (admin) som inte ska ingå i ovanstående ompekning. Jag är inte helt haj på regularexpressions och får inte alls till detta, som borde vara rätt enkelt.

Alltså:
www.mindomän.se/XXX/xxx.aspx ska peka om men inte
www.mindomän.se/admin/xxx.aspx

Hur får jag det att funka?
Martin är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-09-10, 23:08 #2
Fruitness Fruitness är inte uppkopplad
Nykomling
 
Reg.datum: Sep 2008
Inlägg: 17
Fruitness Fruitness är inte uppkopplad
Nykomling
 
Reg.datum: Sep 2008
Inlägg: 17
Hej,

Du använder möjligtvis inte ASP.NET 3.5?

Om ja, så finns det inbyggt Routing du kan använda (utvecklades för ASP.NET MVC men är exkluderat därifrån och funkar med det traditionella ASP.NET Webforms också).

Då kan man skriva likt detta för att ignorera admin-mappen.

Kod:
routes.IgnoreRoute("admin/{*path}");
Fruitness är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-09-11, 02:08 #3
Martin Martin är inte uppkopplad
Medlem
 
Reg.datum: Nov 2003
Inlägg: 162
Martin Martin är inte uppkopplad
Medlem
 
Reg.datum: Nov 2003
Inlägg: 162
Tack så mycket! Men nej tyvärr har inte kommit igång med det än, jag kör något som heter UrlRewriter, det där verkar ju smart att det redan finns inbyggt. Men frågan är väl mer inriktad på regularexpressions, alltså:
www.mindomän.se/XXX/xxx.aspx ska tas med men inte www.mindomän.se/admin/xxx.aspx
Martin är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-09-13, 15:28 #4
Martin Martin är inte uppkopplad
Medlem
 
Reg.datum: Nov 2003
Inlägg: 162
Martin Martin är inte uppkopplad
Medlem
 
Reg.datum: Nov 2003
Inlägg: 162
Någon?
Martin är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-09-14, 17:46 #5
etanders etanders är inte uppkopplad
Medlem
 
Reg.datum: Dec 2004
Inlägg: 160
etanders etanders är inte uppkopplad
Medlem
 
Reg.datum: Dec 2004
Inlägg: 160
Jag har inte testat detta, men kanske något i den här vägen kan funka?

<rewrite url="~/[^(admin)]/(?<name>.+).aspx" to="~/Page.aspx?s=${name}"/>

Är det .NET du jobbar i så har du deras dokumentation för regexp här
http://msdn.microsoft.com/en-us/library/az24scfc.aspx
etanders är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-09-15, 08:21 #6
coredevs avatar
coredev coredev är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Sep 2007
Inlägg: 1 554
coredev coredev är inte uppkopplad
Bara ett inlägg till!
coredevs avatar
 
Reg.datum: Sep 2007
Inlägg: 1 554
I Apache + mod_reqrite är ordningen viktig. I följande exempel hanteras alltså undantaget innan din huvudregel, och kan därmed ignoreras..

Pseudo-kod:
Regel www.mindomän.se/admin/xxx.aspx IGNORERA
Regel www.mindomän.se/XXX/xxx.aspx PEKA OM

IIS kan funka liknande?
coredev ä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)
 
Ämnesverktyg
Visningsalternativ

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 23:45.

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