zoukankan      html  css  js  c++  java
  • url重写

      前两天做项目的时候,有地方需要用到静态页面,然后就顺便研究了一下url重写,人理解,url重写就是修改了地址栏的显示,隐藏了真正的跳转。废话不说了,下面是我使用的两种方法

      1、在global.asax文件中添加一个void ApplicationBeginRequest(..)方法,在这个方法里面,修改跳转路径。代码如下 

      

        void Application_BeginRequest(object sender, EventArgs e)
          {
            string url = Request.RawUrl;//请求的原始页面
            Regex reg = new Regex(@"wangzhangonggao/(d+).html");
            Match match = reg.Match(url);
            if (match.Success)
              {
                string id = Regex.Match(url, @"d").Value;
                string strPath = "/wangzhangonggao/newsDetail.htm";
                HttpContext.Current.RewritePath(strPath);//跳转到真实的页面
              }
          }

        在web.config中要记住在<compilation>下添加<buildProviders>节点,说明文件格式的引用

    2、利用UrlRewriter

      这个应该是常用的了,最重要的就是web.confg的配置。

       

    <configSections>
    <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>

    </configSections>
    <RewriterConfig>
    <Rules>
    <RewriterRule>
    <LookFor>~/wangzhangonggao/(d+).html</LookFor>
    <SendTo>~/wangzhangonggao/newsDetail.htm</SendTo>
    </RewriterRule>
    </Rules>
    </RewriterConfig>
    <appSettings>
    <add key="ConnectionString" value="server=localhost;uid=sa;pwd=test;database=SLS_HZC"/>
    </appSettings>

    <system.web>
    <compilation debug="true" targetFramework="4.0">
    <buildProviders>
    <add extension=".htm" type="System.Web.Compilation.PageBuildProvider"/>
    <add extension=".html" type="System.Web.Compilation.PageBuildProvider"/>
    </buildProviders>
    </compilation>
    <httpHandlers>

    <!--这个地方的配置针对的是请求页面的,例如我请求wangzhangonggao/1.html,但实际上页面的内容是在另一个页面中。弄反了会报404的错误-->
    <add verb="*" path="wangzhangonggao/*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter"/>
    </httpHandlers>

  • 相关阅读:
    偶数求和
    POJ2002Squares
    学习笔记之ulimit
    LeetCode 345. Reverse Vowels of a String
    LeetCode 343. Integer Break
    LeetCode 292. Nim Game
    LeetCode 338. Counting Bits
    LeetCode 344. Reverse String
    [ZZ]良好的编码习惯
    学习笔记之Linux Shell脚本教程:30分钟玩转Shell脚本编程
  • 原文地址:https://www.cnblogs.com/li12fei12/p/4554714.html
Copyright © 2011-2022 走看看