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

  • 相关阅读:
    汇编-实验9
    Starling开源手势库AcheGesture
    Robotlegs2的Starling扩展
    Flash Builder 4.6/4.7 注释以及字体大小修改
    js中函数的理解
    js对象引用赋值后
    var声明提前 undefined
    光棍节程序员闯关秀
    body和普通div背景图宽高百分比的区别
    笔试题
  • 原文地址:https://www.cnblogs.com/li12fei12/p/4554714.html
Copyright © 2020-2023  润新知