在网上找到配置教程都是只字片语,非常不详细,最近用到这个配置,用本人配置成功的方案,再配合网络上找到大家常遇到的问题给出完美的解决方案。下面先看步骤。
1、先添加引用URLRewriter.dll到项目下的bin目录中,后边demo包里有提供,URLRewriter.dll的版本不同,可能会导致在编译的过程中web.confg报错。
2、在web.config里配置伪静态规则,完整web.config代码如下,已添加注释。
<?xml version="1.0"?>
<configuration>
<!--1、配置重写规则节点,必须写在最上面,写在connectionStrings下会出错,不知道为什么,有知道的童鞋请告知。-->
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
<connectionStrings>
<add name="TestConnectionString" connectionString="Data Source=.;Initial Catalog=Test;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
<!--2、重写规则-->
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/new_(.[0-9]*)\.html</LookFor>
<SendTo>~/new.aspx?id=$1</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/index.html</LookFor>
<SendTo>~/index.aspx</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
<system.web>
<!--3、不加此节点不能定向html页面-->
<httpHandlers>
<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>
<compilation debug="true"/>
</system.web>
</configuration>到这里,已经能在vs自带的小型服务器上实现伪静态了,但是如果要在iis上运行,还需要对iis进行配置。如下
3、配置iis
在IIS的网站上 右键属性->主目录->配置->插入,在弹出的界面中填入[C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_isapi.dll] 或直接点击浏览打开找到这个路径. 同时把[确认文件是否存在]取消勾选.然后重启IIS就OK了.
完整程序下载,没有数据库,方便查看调试:










