在我的应用程序中,我习惯使用Intelligencia进行URL重写。 我的网址格式是
<rewrite url="~/([A-Za-z0-9-_ ]+)$" to="~/xxxxxx.aspx?id=$1"/>
现在我想要的是,如果网址不包含 iphonestatelist,iphonepropertytype ,那么只有它才能重定向。
我使用了以下代码,但它无效。
<rewrite url="~/(^((?!\b(iphonestatelist|iphonepropertytype)\b).)*[A-Za-z0-9-_ ]+)$" to="~/xxxxxx.aspx?id=$1"/>
例如: 以下网址不想重写
www.xxxx.com/abc/sef/iphonestatelist
重写的正确网址
www.xxxx.com/FX1234
答案 0 :(得分: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
答案 1 :(得分:0)
尝试
<rewrite
url="^(?!.*?\b(?:iphonestatelist|iphonepropertytype)\b)~/([A-Za-z0-9-_ ]+)$"
to="~/xxxxxx.aspx?id=$1"
/>
通常:要检查字符串是否包含(或不包含)某个子字符串,请使用前瞻(或分别为负前瞻),如下所示:
`^(?=.*?pattern-reqired)pattern-you-look-for
^(?!。*?模式,不允许)模式任您看换 这些模式也可以链接
^(?!?不,这一点)(?!的?不,那)模式任您查找for`