有人可以帮助重写IIS的规则吗?

时间:2011-01-20 18:57:55

标签: iis rewrite isapi

我正在使用Helicon ISAPI_Rewrite并输入了以下重写规则:

RewriteRule /([^/?.]+) /MemberPages/OrderSupplies.aspx\?Name=$1 [NC,L]

但是,我的正则表达式知识很少,而且这条规则几乎可行。但是,这是我的情况:

我希望访问者能够在网址上输入以下内容:

http://www.somedomain.com/UserName

当他们这样做时,他们会被重定向到:

http://www.somedomain.com/MemberPages/OrderSupplies.aspx

如果UserName是文件,则上述规则有效但我不希望触发规则。

例如,如果输入以下内容,则不应触发规则:

http://www.somedomain.com/Default.aspx  
http://www.somedomain.com/login.aspx  
http://www.somedomain.com/otherpage.aspx  

上面的规则删除了“.”,但我想忽略所有文件名或任何带有“.”的文字。

1 个答案:

答案 0 :(得分:0)

我想出了以下内容:

RewriteEngine On
RewriteRule ^([^/?.]+)$ MemberPages/OrderSupplies.aspx?Name=$1 [NC,L]

我不确定你是否可以在mod_rewrite中指定主机名之前/之后。另外,你不需要逃避?在我所知道的替换字符串中。但无论如何如果不起作用,请按照你的方式尝试:

RewriteEngine On
RewriteRule ^([^/?.]+)$ /MemberPages/OrderSupplies.aspx\?Name=$1 [NC,L]

所以一般的^([^ / ?.] +)$模式表明从头到尾都不能有?要么 。或/字符。