2011-09-08 105 views
2

在我的appication中,我用URL重写使用Intelligencia。 我的URL模式是URL重写问题,正则表达式

<rewrite url="~/([A-Za-z0-9-_ ]+)$" to="~/xxxxxx.aspx?id=$1"/> 

现在我想如果URL中不包含iphonestatelist,iphonepropertytype那么只有它应该重定向。

我已经使用下面的代码,但它不起作用。

<rewrite url="~/(^((?!\b(iphonestatelist|iphonepropertytype)\b).)*[A-Za-z0-9-_ ]+)$" to="~/xxxxxx.aspx?id=$1"/> 

如: 下面的网址不希望重写

www.xxxx.com/abc/sef/iphonestatelist

权URL重写

WWW。 xxxx.com/FX1234

回答

3

尝试

<rewrite 
    url="^(?!.*?\b(?:iphonestatelist|iphonepropertytype)\b)~/([A-Za-z0-9-_ ]+)$" 
    to="~/xxxxxx.aspx?id=$1" 
/> 

一般来说:要检查字符串包含(或不包含)某个子串,使用前瞻(或负先行,分别)是这样的:

 
^(?=.*?pattern-reqired)pattern-you-look-for 
^(?!.*?pattern-disallowed)pattern-you-look-for 

这些模式也可以链接

 
^(?!.*?not-this)(?!.*?not-that)pattern-you-look-for 
+0

它的工作谢谢这么多.... – Sree

0

尝试 <rewrite url="^(?!.*?\b(?:iphonestatelist|iphonepropertytype)\b)~/([A-Za-z0-9-_ ]+)$" to="~/xxxxxx.aspx?id=$1" />

一般来说:要检查字符串包含(或不包含)某个子串,使用前瞻(或负先行,分别)是这样的:

`^(?=.*?pattern-reqired)pattern-you-look-for 

^(? (*!pattern-disallowed)pattern-you-look-for 这些模式也可以链接

^(?!。 ?not-this)(?!。?not-that)pattern-you-look-for`