在网上找到配置教程都是只字片语,非常不详细,最近用到这个配置,用本人配置成功的方案,再配合网络上找到大家常遇到的问题给出完美的解决方案。下面先看步骤。
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了.
完整程序下载,没有数据库,方便查看调试: