我正在使用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
上面的规则删除了“.
”,但我想忽略所有文件名或任何带有“.
”的文字。
答案 0 :(得分:0)
我想出了以下内容:
RewriteEngine On
RewriteRule ^([^/?.]+)$ MemberPages/OrderSupplies.aspx?Name=$1 [NC,L]
我不确定你是否可以在mod_rewrite中指定主机名之前/之后。另外,你不需要逃避?在我所知道的替换字符串中。但无论如何如果不起作用,请按照你的方式尝试:
RewriteEngine On
RewriteRule ^([^/?.]+)$ /MemberPages/OrderSupplies.aspx\?Name=$1 [NC,L]
所以一般的^([^ / ?.] +)$模式表明从头到尾都不能有?要么 。或/字符。