<configSections>
<!--用于指定配置节"RewriterConfig"的处理程序类的名称为”URLRewriter.Config.RewriterConfigSerializerSectionHandler”,该类存在于bin目录下的URLRewriter .dll文件中-->
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
<httpModules>
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />
</httpModules>
<RewriterConfig>
<Rules>
<RewriterRule>
<!--表示,用户输入的url,d(\d+)\.aspx是 url中文件名匹配的正则表达式(此处为字母d开头,后面跟一个或多个数字,并以.aspx结尾。用户也可根据自己的需要自行设定)。-->
<LookFor>~/d(\d+)\.aspx</LookFor>
<!--表示当服务器接收到符合上面条件的请求后如何重写url。此处表示访问defalutl.aspx并传入参数id,其值$1将用用户请求的文件名中的第一个数字来表示。
例如用户输入 hostname/d11.aspx,服务器会把他重写为http://hostname/default.aspx?id=11。换句话说用户输入http: //hostname/d11.aspx,实际访问的是
http://hostname/default.aspx?id=11。这样就起到了隐藏真实文件名,并便于用户记忆的作用。-->
<SendTo>~/default.aspx?id=$1</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/news_ny_(.*).html</LookFor>
<SendTo>~/news_ny.aspx?newsId=$1</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/news_(.*)_(.*).html</LookFor>
<SendTo>~/news.aspx?newsTypeId=$1&newsWhere=$2</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/news.html</LookFor>
<SendTo>~/news.aspx</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
用到AspNetPager分页控件的页面可以将AspNetPager的 UrlPaging设为false ,变相的解决分页控件显示.aspx页面问题。也可以向访问页面这样,一步一步配置,实现.html的伪静态。
对于两个参数的规则 “&” 符号要写成 “&“ 用的时候第二个参数如果用不到空着即可,但是必须写"_" 如news_xwgg_.html
IIS 7.5 配置伪静态
httpHandler实现.Net无后缀名Web访问
1)首先新建一个应用程序池,名称任意,比如:nettest,托管管道模式先暂时设置为集成模式,等下面的一系列设置完成之后再设置成经典模式;
2)部署好站点,并将此站点的应用程序池设置为nettest;
3)选中站点,切换到功能试图,找到 "服务器组件"-> "处理程序映射",双击之后,在打开窗口右侧的操作栏目下做如下设置:
4)"添加脚本映射":请求路径 .html ,可执行文件选择 C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll ,如果是4.0,则为C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll,名称随意;
5)"添加通配符脚本映射":请求路径 * ,可执行文件为:C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,名称随意;
6)"添加托管处理程序":请求路径 * ,可执行文件:System.Web.UI.PageHandlerFactory,名称随意;
7)打开站点切换到功能试图,找到 "服务器组件"->"模块",双击之后,在打开窗口右侧的操作栏目中,点击"添加托管模块",类型
URLRewriter.ModuleRewriter,并且把"仅针对向asp.net 应用程序或托管处理程序发出请求调用" 选中;
8)最后,找到我们第一步建立的应用程序池nettest,将托管管道模式设置为经典模式。
以上完成之后,即可实现IIS 7.5下的伪静态操作。
2003 IIS 配置伪静态
IIS配置:网站->属性->目录->配置(G)...->映射->应用程序扩展->添加
可执行文件:c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll
扩展名:.html
动作:限制为 GET,HEAD,POST,DEBUG
脚本引擎:选中
确认文件是否存在:不选