2013-02-08 161 views
0

我有一个web.config规则。它支持一个web.config文件中的多个域名盟友。它增加了www。前缀和自动重定向。正则表达式模式:不是以“www”开头,除了“admin”

<rule name="Redirect to WWW" stopProcessing="true"> 
     <match url=".*" /> 
     <conditions logicalGrouping="MatchAll"> 
      <add input="{HTTP_HOST}" pattern="^(www\.)(.*)$" negate="true" /> 
     </conditions> 
     <action type="Redirect" url="http://www.{HTTP_HOST}/{R:0}" redirectType="Permanent" /> 
    </rule> 

但我不想在域名以“admin”子域名开头时重定向。

我怎么能,转换此正则表达式:(WWW)(。*)^所有的$

+0

(管理员\)$ ^(WWW \)$ – Yusuf 2013-02-08 12:22:01

+0

^(www。| admin。)(。*)$是更好的 – Yusuf 2013-02-08 12:27:42

回答

0

首先使用的时候要小心 “” 这是一个特殊字符,可以替代“任何字符”。 其次,您可以使用(aa | bb)制作匹配分支。它的意思是“a”或“b”。

因此这应该工作:|(。*)|(。*) ^(。WWW管理员)(。*)$

+0

完美的作品。谢谢。 – Yusuf 2013-02-08 12:27:19