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

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

 

相关文章
|
4月前
|
Web App开发 编解码 运维
LNMP详解(十二)——Nginx URL重写实战
LNMP详解(十二)——Nginx URL重写实战
47 2
|
2月前
|
Web App开发 前端开发
canvas保存图片时,谷歌浏览器Chrome报错【解决方案】Not allowed to navigate top frame to data URL
canvas保存图片时,谷歌浏览器Chrome报错【解决方案】Not allowed to navigate top frame to data URL
65 0
|
4月前
|
开发框架 搜索推荐 中间件
中间件应用路由和URL重写
【5月更文挑战第2天】中间件应用路由和URL重写
32 3
中间件应用路由和URL重写
|
4月前
|
编解码 运维 搜索推荐
LNMP详解(十一)——Nginx URL重写原理
LNMP详解(十一)——Nginx URL重写原理
35 0
|
4月前
|
JavaScript Windows
VUE部署到IIS中报404错误解决方案-配置URL重写
VUE部署到IIS中报404错误解决方案-配置URL重写
185 0
|
12月前
|
iOS开发
解决alert在ios版微信中显示url的问题(重写alert)
解决alert在ios版微信中显示url的问题(重写alert)
86 0
|
JSON 前端开发 安全
ajax中实现访问url已阅即焚的解决方案(url动态参数、变量加密、常量不变、php加密解密、API访问验证方式)
ajax中实现访问url已阅即焚的解决方案(url动态参数、变量加密、常量不变、php加密解密、API访问验证方式)
249 0
|
JSON 安全 关系型数据库
php传递url参数加密验证的解决方案(加密解密、安全验证过滤)
php传递url参数加密验证的解决方案(加密解密、安全验证过滤)
342 0
|
PHP 计算机视觉
php利用百度人脸识别实现人脸融合的解决方案(1)image_type为URL类型
php利用百度人脸识别实现人脸融合的解决方案(1)image_type为URL类型
91 0
|
16天前
|
开发框架 前端开发 .NET
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
下一篇
云函数