在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
目录
一,URL重写的业务需求
二,ReWritingNet组件主要功能
三,配置IIS(IIS7/8环境下)
查看是否安装成功
四,程序代码
a.首先、在ConfigSections节新增Section,如下<configSections> <section name="urlrewritingnet" restartOnExternalChanges="true" requirePermission="false" type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter"/> </configSections> b.在 <system.web>节点下配置如下内容<httpModules> <add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter"/> </httpModules> 解释:HttpModule 是实现 IHttpModule 接口和处理事件的程序集。ASP.NET 包含一组可由应用程序使用的 HttpModule 模块。例如,ASP.NET 提供了 SessionStateModule 来向应用程序提供会话状态服务。可以创建自定义 HttpModule以响应 ASP.NET 事件或用户事件 c.在<configuration>节点配置重写规则,或者重新新建一个urlrewriting.config来配置重写规则<?xml version="1.0" encoding="utf-8"?> <urlrewritingnet rewriteOnlyVirtualUrls="true" defaultPage="" contextItemsPrefix="QueryString" defaultProvider="RegEx" xmlns="http://www.urlrewriting.net/schemas/config/2006/07"> <rewrites> <!--首页--> <add name="eshop" virtualUrl="^~/(\d+).html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/VipStore/5/Index.aspx?StoreID=$1" ignoreCase="true"/> <!--默认--> <add name="default" virtualUrl="^~/default.html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Search.aspx" ignoreCase="true"/> <add name="default2" virtualUrl="^~/default.aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Search.aspx" ignoreCase="true"/> <add name="default3" virtualUrl="^~/" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Search.aspx" ignoreCase="true"/> </rewrites> </urlrewritingnet> 五, 重写规则(一)、扩展名不变的重写<add name="default2" virtualUrl="^~/default.aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Search.aspx" ignoreCase="true"/> (二)、伪静态重写,扩展名为.html<add name="default" virtualUrl="^~/default.html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Search.aspx" ignoreCase="true"/> (三)、任意扩展名的重写 如:扩展名为.tkx,配置和伪静态一样配置<!-- 任意扩展名的重写如:扩展名为.tkx--> <add name="RewriteIndex" virtualUrl="^~/index_(\d+).tkx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/index2.aspx?ID=$1" ignoreCase="true" /> IIS配置:扩展名如果不在IIS处理程序映射内,那么需要添加对应的处理程序映射 可执行文件:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll (四)、无后缀的重写<add name="muying" virtualUrl="^~/muying/" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Muying.aspx" ignoreCase="true"/> (五)、二级域名到多级域名的重写<add name="Rewrite1" virtualUrl="^http\://(.*).xianfen.net/Default.aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Default.aspx?ID=$1" ignoreCase="true" /> 注意,在进行二级域名重写时要对一个地方进行重新设置: <urlrewritingnet rewriteOnlyVirtualUrls="true" 改为 false contextItemsPrefix="QueryString" defaultPage = "Default.aspx" defaultProvider="RegEx" xmlns="http://www.urlrewriting.net/schemas/config/2006/07" > 重写规则、参数个数等等可以自己定义,还可以在运行时添加、修改重写规则,也可以扩展该组件的功能来满足形形色色的需求。具体可查看其文档和源码。
|
请发表评论