URL Rewriting 重写解决方案

简介: 一、业务需求 二、解决方案 1、原理 2、效果预览 三、源码分析 四、使用方式 1、引入DLL程序集 2、配置Web.config文件 五、总结  一、业务需求 1、顾客可以直接用浏览器bookmark功能将页面连结储存起来.

一、业务需求

二、解决方案

1、原理

2、效果预

三、源码分析

四、使用方式

1、引入DLL程序集

2、配置Web.config文件

五、总结 

一、业务需求

1、顾客可以直接用浏览器bookmark功能将页面连结储存起来.

2、顾客便于记忆URL,相对于

http://yoursite.com/info/dispEmployeeInfo.aspx?EmpID=459-099&type=summary

顾客更容易记忆http://yoursite.com/people/sales/chuck.smith

3、利于搜索引擎收录

4、隐藏实际文件路径,提高网站的安全性

二、解决方案

1、原理

URL重写是截取传入的请求并自动将该请求重定向到其他资源的过程。

2、效果预览

三、源码分析

 

第三方程序集

四、使用方式

1、引入DLL程序集

UrlRewritingNet.UrlRewriter.dll文件添加的工程的Bin文件下

2、配置Web.config文件

Ø         首先、在ConfigSections节新增Section,如下

 <configSections>

    <section name="urlrewritingnet" requirePermission ="false"

             type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter" />

 </configSections>

 

Ø         其次、在<configuration>节点配置重写规则,如下:

<urlrewritingnet

    rewriteOnlyVirtualUrls="true"  

    contextItemsPrefix="QueryString"

    defaultPage = "default.aspx"

    defaultProvider="RegEx"

    xmlns="http://www.urlrewriting.net/schemas/config/2006/07" >

    <rewrites>

      <add name="RewriteOnDomain" virtualUrl="^http\://(.*)/item/(.*) "           

           rewriteUrlParameter="ExcludeFromClientQueryString"

           destinationUrl="~/ProductDetails.aspx?productCode=$2"

           rewrite="Domain"

           ignoreCase="true" />

 

      <add name="Rewrite" virtualUrl="^~/(.*)/Detail(.*).aspx"           

           rewriteUrlParameter="ExcludeFromClientQueryString"

           destinationUrl="~/Default.aspx?language=$1&amp;id=$2"

           ignoreCase="true" />

 

      <add name="RedirectInApplication" virtualUrl="^~/(.*)/Default.aspx"           

           rewriteUrlParameter="ExcludeFromClientQueryString"

           destinationUrl="~/$1/Detail_Redirected.aspx"

           redirect="Application"

           redirectMode="Permanent"

           ignoreCase="true" />

 

 

      <add name="KickBrowserToDomain" virtualUrl="^http\://(.*)/SampleWeb/kickto/(.*).aspx"           

           rewriteUrlParameter="ExcludeFromClientQueryString"

           destinationUrl="http://$2?source=$1"

           redirect="Domain"

           redirectMode="Permanent"

           ignoreCase="true" />

    </rewrites>

 </urlrewritingnet>

 

Ø         最后,在 <system.web>节点下配置如下内容

<httpModules>

      <add name="UrlRewriteModule"

           type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />

</httpModules>

 

解释:HttpModule 是实现 IHttpModule 接口和处理事件的程序集。ASP.NET 包含一组可由应用程序使用的 HttpModule 模块。例如,ASP.NET 提供了 SessionStateModule 来向应用程序提供会话状态服务。可以创建自定义 HttpModule 以响应 ASP.NET 事件或用户事件

五、总结

URL重写即便于用户添加到收藏夹,有利于搜索引擎收录和提高安全性,合理地使用URL重写功能便于提高网站的整体性能。比如,在电子商务网站的商品详细页面、注册页面、分类页面等等可以使用URL重写机制。

源代码:http://files.cnblogs.com/ywqu/WebSite1.rar

 

版权

作者:灵动生活 郝宪玮

出处:http://www.cnblogs.com/ywqu

如果你认为此文章有用,请点击底端的【推荐】让其他人也了解此文章,

img_2c313bac282354945ea179a807d7e70d.jpg

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

 

相关文章
|
6月前
|
iOS开发
解决alert在ios版微信中显示url的问题(重写alert)
解决alert在ios版微信中显示url的问题(重写alert)
43 0
|
8月前
|
JSON 前端开发 安全
ajax中实现访问url已阅即焚的解决方案(url动态参数、变量加密、常量不变、php加密解密、API访问验证方式)
ajax中实现访问url已阅即焚的解决方案(url动态参数、变量加密、常量不变、php加密解密、API访问验证方式)
164 0
|
8月前
|
JSON 安全 关系型数据库
php传递url参数加密验证的解决方案(加密解密、安全验证过滤)
php传递url参数加密验证的解决方案(加密解密、安全验证过滤)
210 0
|
8月前
|
PHP 计算机视觉
php利用百度人脸识别实现人脸融合的解决方案(1)image_type为URL类型
php利用百度人脸识别实现人脸融合的解决方案(1)image_type为URL类型
62 0
|
9月前
|
测试技术
【解决方案 十】判断URL请求是否成功并检测访问效率
【解决方案 十】判断URL请求是否成功并检测访问效率
145 0
|
缓存 应用服务中间件 Shell
Nginx实战(二) URL重写
Nginx实战(二) URL重写
129 0
|
移动开发
详解IIS中的重写工具下关于操作重定向URL中的{R:N}与{C:N}
详解IIS中的重写工具下关于操作重定向URL中的{R:N}与{C:N}
148 0
详解IIS中的重写工具下关于操作重定向URL中的{R:N}与{C:N}
|
前端开发
react通过props.history跳转页面,url变化但页面不更新的解决方案
react通过props.history跳转页面,url变化但页面不更新的解决方案
609 0
|
应用服务中间件 nginx 开发者
Nginx反向代理/location/URL重写功能实战| 学习笔记
快速学习Nginx反向代理/location/URL重写功能实战。
156 0
Nginx反向代理/location/URL重写功能实战| 学习笔记
|
应用服务中间件 nginx
Nginx反向代理/location/URL重写功能实战
一、Nginx反向代理常用实战 二、location 应用实例
Nginx反向代理/location/URL重写功能实战

相关产品

  • 云迁移中心