开源代码http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi,下载下来后编译一下就可以了。编译后得到URLRewriter.dll和ActionlessForm.dll两个Dll。
2、在ASP.NET项目的web.config中配置使用。
在<configuration>下面添加一段代码:
<configSections>
<section name=\"RewriterConfig\" type=\"URLRewriter.Config.RewriterConfigSerializerSectionHandler,URLRewriter\"/>
</configSections>
在<system.web>下面添加一段代码:
<httpHandlers>
<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter"/>
</httpHandlers>
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/index.html</LookFor>
<SendTo>~/Index.aspx</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/(/d+)-(.*).html</LookFor>
<SendTo>~/Products/ProductsList.aspx?id=$1&SelectValue=$2</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/(/d+)/(.*).html</LookFor>
<SendTo>~/Products/ProductsDetails.aspx?ID=$1&CASNO=$2</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
其中LookFor是地址栏显示的地址,SendTo是真实的反问地址。当页面带有多个参数的时候,如第一个用$1来表示,第二个用$2来表示,以此类推,而参数于参数中的链接符由\"&\"改为\"&\"。LookFor中的(/d+)这些就是正则表达式的写法了。
在页面中的链接也就要修改了,比如<a href=\"products/productsList.aspx?id=111&SelectValue=a\">产品列表</a>就需要修改为<a href=\"111-a.html\">产品列表</a>。