首先下载安装MSDNURLRewriting.msi,链接地址http://pan.baidu.com/s/1c0pRnTu。
在安装目录下找到RewriterTesterinURLRewriter.dll添加引用到自己的项目。
更改配置文件web.config,在<configuration> </configuration>结点之内, <system.web> </system.web>节点之前,添加如下节点:
<RewriterConfig> <Rules> <RewriterRule> // 伪装的URL,可以将html更改成任意的,如:jsp,php,asp,aspx等 <LookFor>~/news(.+).html</LookFor> // 实际的URL,$1表示第1个正则表达式(.+)所表示的参数,以此类推,$n表示第n个正则表达式表示的参数 <SendTo>~/WebForm1.aspx?id=$1</SendTo> <RewriterRule> </RewriterRule> <LookFor>~/new/(.+)/(.+).aspx</LookFor> <SendTo>~/WebForm1.aspx?id=$1&keyword=$2</SendTo> </RewriterRule> </Rules> </RewriterConfig>
在<system.web></system.web>节点之内添加:
<httpHandlers> <add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" /> <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" /> </httpHandlers>
前台的HTML代码可以写为:
<a href="/news11101.html">真实地址:WebForm1.aspx?id=11101</a>
<a href="/new/909990/abcd.aspx">真实地址:WebForm1.aspx?id=909990&keyword=abcd</a>
// 甚至可以写成这样:
<a href='/news<%#DataBinder.Eval(Container.DataItem,"ID") %>.html'>真实地址:WebForm1.aspx?id=<%#DataBinder.Eval(Container.DataItem,"ID") %></a>