在这个系统中我使用了从msdn上下载的url重写模块(具体请看在 ASP.NET 中执行 URL 重写)其其中需要在web.config中指定url转换的正则表达式,最后的正则表达式如下(我想将任何文件进行转向)
一个关于文件路径的正则表达式 <RewriterRule>
一个关于文件路径的正则表达式  
<LookFor>~/resData/([^\\:\*\?"\|&gt;&lt;]+)</LookFor>
一个关于文件路径的正则表达式  
<SendTo>~/Sys/load.aspx?1</SendTo>
一个关于文件路径的正则表达式 
</RewriterRule>

在<LookFor></LookFor>中~可能是URLRewriting模块指定的,以上正则表达式通过xml解析之后变成
~/resData/([^\\:\*\?"\|<>]+)
再加上正则表达式转义,正好就是在resData下,只要不包含\:*?"|<>中的任意字符即可,而
在windows系统中不可能作为文件名和目录名的字符是\:*?"|<>和/,而/要在路径中用到,所以不能禁止

相关文章: