开发者社区> 灵动生活> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

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

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
react通过props.history跳转页面,url变化但页面不更新的解决方案
react通过props.history跳转页面,url变化但页面不更新的解决方案
0 0
JavaWeb - GET 请求中 URL 的最大长度限制(附:解决方案)
JavaWeb - GET 请求中 URL 的最大长度限制(附:解决方案)
0 0
tp5在phpstudy下URL无法去掉index.php的解决方案
tp5在phpstudy下URL无法去掉index.php的解决方案
0 0
tp5在phpstudy下URL无法去掉index.php的解决方案
tp5在phpstudy下URL无法去掉index.php的解决方案
0 0
x3d
找到MVC框架中前端URL与后端同步的解决方案
基本思路: 先用URL标签生成完整的URL字符,前端动态参数的部分以适配符先填充,最后动态参数利用正则匹配进行替换。 这种方式,可以在各种MVC框架中适用,妙。 不废话,上码。   var url = "{url app=xxxxn&act=yyy&id=[0]}"; url = url.
609 0
url传递中文的解决方案
本文转载:http://www.cnblogs.com/ghd258/archive/2005/10/23/260241.html url传递中文的解决方案 1.设置web.config文件。
420 0
+关注
灵动生活
12年电商经验,8年IT项目管理经验,曾就职于中国第一家上市的B2C电商公司麦考林,擅长电商业务模式规划以及大型电商系统架构。创立闪酷&amp;酷客多小程序
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载