IIS7中ASP.NET伪静态配置方法介绍
在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文件中--> 添加 以下节点:
<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.NET\Framework\v2.0.50727\aspnet_isapi.dll 名称:任意,比如Html )
添加通配符脚本映射(路径:* 可执行文件:C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_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
您可能感兴趣的文章:
IIS7 伪静态支持环境配置(修改web.config)
IIS7中ASP.NET伪静态配置方法介绍
伪静态几种做法
IIS7下开启Gzip后却不能压缩js文件的解决方法
asp.net伪静态后真正的静态文件无法访问的解决方法
aspnet_isapi.dll实现无后缀名的url重写(伪静态)
php 伪静态 url重写简单示例
php伪静态如何获取地址栏url
IIS7中ASP.NET 上下文中不可用的解决方法
C# 静态方法与非静态方法的区别分析