IIS7中ASP.NET伪静态配置方法介绍

发布时间:2019-11-19编辑:脚本学堂
本文介绍下,在IIS7配置asp.net伪静态,即URL重写的方法,有需要的朋友,可以参考学习下。

在IIS7中配置asp.net伪静态,按以下三步进行。

1、下载一个URLRewriter.dll 程序集,
下载地址1:URL重写urlrewriter.dll组件下载地址(附完整示例代码)
下载地址2:微软URL重写组件urlrewriter.dll下载地址
下载地址3:http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi

在项目中引用这个程序集,伪静态语法。(例把.aspx 的页面用.html来表示,web.config文件中--> 添加 以下节点:
 

复制代码 代码示例:
<configSections>
    <section name="RewriterConfig" requirePermission="false" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
<RewriterConfig>
  <Rules>
      <RewriterRule><!--一个参数->
        <LookFor>~/cn/ss_(.[d]*).html</LookFor>
        <SendTo>~/cn/news.aspx?id=$1</SendTo>
      </RewriterRule>
<RewriterRule><!--传两个参数的-->
        <LookFor>~/cn/ss_(.[d]*)0(.[w]*).html</LookFor> <!--(.[d]*)(.[w]*).html  或者 ss_,(.[0-9]*),(.[0-9]*).html-->
        <SendTo><![CDATA[~/cn/news.aspx?id=$1&sid=$2]]></SendTo>
      </RewriterRule>
     <RewriterRule>三个参数
        <LookFor>~/cn/ss_(.[d]*)0(.[w]*)0(.[w]*).html</LookFor> <SendTo><![CDATA[~/ZH-CN/news.aspx?id=$1&sid=$2&n_id=$3]]></SendTo>
      </RewriterRule>
 <httpHandlers>
      <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
      <add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
 </httpHandlers>
<httpModules>
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>
</httpModules>

2、在IIS中发布网站
你的网站-->IIS中处理程序映射-->
添加脚本映射(路径:*.html  可执行文件%windir%Microsoft.NETFrameworkv2.0.50727aspnet_isapi.dll  名称:任意,比如Html )
添加通配符脚本映射(路径:*  可执行文件:C:WindowsMicrosoft.NETFrameworkv2.0.50727aspnet_isapi.dll  名称:任意,比如All)
托管处理程序映射(路径:*  可执行文件:System.Web.UI.PageHandlerFactory 名称 任意 比如Html-Integrate)-------->        (请注意:原文此处有错误,路径应该为*.html 否则报错,影响到所有页面无法显示)

IIS中 模块-->添加---->(名称:任意 如All  类型:URLRewriter.ModuleRewriter 把 仅针对向asp.net 应用程序或托管处理程序发出请求调用  勾上  ok )
-->ok

3、测试效果
访问 http://localhost:8080/cn/ss_1.html
url重写到页面:http://localhost:8080/cn/news.aspx?id=1