2014-01-17 6 views
1

Я пытаюсь перенаправить из BSL2 в BSL2 с помощью IIS переписатьIIS Перенаправление Regex начало строки

http://server/site/bsl2/controllertest.aspx to 
http://server/site/bsl3/controllertest.aspx 

Это правило работает отлично:

<rewrite> 
    <rules> 
    <rule name="BSL" stopProcessing="true"> 
     <match url=".*" /> 
     <conditions> 
     <add input="{PATH_INFO}" pattern="bsl2/(.*)$" /> 
     </conditions> 
     <action type="Redirect" url="bls3/{C:1}?test={C:0}" /> 
    </rule> 
    </rules> 
</rewrite> 

, но он также будет делать сервер/сайт/otherbsl2 /controllertest.aspx

Я попытался использовать ^, чтобы обозначить начало строки, но это не работает, например

<add input="{PATH_INFO}" pattern="^(bsl2)/(.*)$" /> 

Что я делаю неправильно?

ответ

0

Используйте следующее регулярное выражение:

/bsl2/(.*)$ 

или использовать слово граница \b:

\bbsl2/(.*)$ 
+0

благодаря {PATH_INFO} начинается с/вот что я пропустил (не знаю, как!) –

Смежные вопросы