• URL Rewriting 重写解决方案


    一、业务需求

    二、解决方案

    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重写机制。

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

  • 相关阅读:
    final关键字的用法
    多态的理解
    5.13会话技术Cookie---Session
    5.13Junit单元测试-反射-注解
    5.13redis的相关基础
    5月13号
    5.13redis图形化工具---idea中配置redis密码
    5.13谢谢原文博主
    5.13微信登录维护态与获取用户信息思想
    5.12redis
  • 原文地址:https://www.cnblogs.com/ywqu/p/1602977.html
Copyright © 2020-2023  润新知