URL Rewriting 重写解决方案

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

一、业务需求

二、解决方案

1、原理

2、效果预

三、源码分析

四、使用方式

1、引入DLL程序集

2、配置Web.config文件

五、总结  

一、业务需求

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

2、顾客便于记忆URL

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>

 

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

<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&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>

 

Ø         最后,在 节点下配置如下内容

<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

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

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

 

相关文章
|
Web App开发 编解码 运维
LNMP详解(十二)——Nginx URL重写实战
LNMP详解(十二)——Nginx URL重写实战
184 2
|
开发框架 搜索推荐 中间件
中间件应用路由和URL重写
【5月更文挑战第2天】中间件应用路由和URL重写
170 3
中间件应用路由和URL重写
|
Web App开发 前端开发
canvas保存图片时,谷歌浏览器Chrome报错【解决方案】Not allowed to navigate top frame to data URL
canvas保存图片时,谷歌浏览器Chrome报错【解决方案】Not allowed to navigate top frame to data URL
601 0
|
JavaScript Windows
VUE部署到IIS中报404错误解决方案-配置URL重写
VUE部署到IIS中报404错误解决方案-配置URL重写
824 0
|
iOS开发
解决alert在ios版微信中显示url的问题(重写alert)
解决alert在ios版微信中显示url的问题(重写alert)
206 0
|
JSON 前端开发 安全
ajax中实现访问url已阅即焚的解决方案(url动态参数、变量加密、常量不变、php加密解密、API访问验证方式)
ajax中实现访问url已阅即焚的解决方案(url动态参数、变量加密、常量不变、php加密解密、API访问验证方式)
444 0
|
JSON 安全 关系型数据库
php传递url参数加密验证的解决方案(加密解密、安全验证过滤)
php传递url参数加密验证的解决方案(加密解密、安全验证过滤)
718 0
|
PHP 计算机视觉
php利用百度人脸识别实现人脸融合的解决方案(1)image_type为URL类型
php利用百度人脸识别实现人脸融合的解决方案(1)image_type为URL类型
157 0
|
前端开发 JavaScript
前端JS截取url上的参数
文章介绍了两种前端JS获取URL参数的方法:手动截取封装和使用URLSearchParams。
372 0

热门文章

最新文章