WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Regular expressions (https://www.wn.se/forum/showthread.php?t=31813)

Martin 2008-09-10 20:22

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?

Fruitness 2008-09-10 23:08

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}");

Martin 2008-09-11 02:08

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 2008-09-13 15:28

Någon?

etanders 2008-09-14 17:46

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

coredev 2008-09-15 08:21

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?


Alla tider är GMT +2. Klockan är nu 05:29.

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