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

  • 相关阅读:
    H5应用加固防破解-js虚拟机保护方案浅谈
    Hijack chrome browser
    端口复用正向后门
    Django框架的一些漏洞
    07_简单的LISP加减乘除(基本计算器)
    git error:invalid path问题解决(win下)
    配置win10支持文件夹内区分大小写
    win10启用自带ubuntu虚拟机并升级至wsl2
    【进程调度】关于CPU的sockets、dies、cores、threads含义理解
    06_最长回文子串长度
  • 原文地址:https://www.cnblogs.com/li12fei12/p/4554714.html
Copyright © 2020-2023  润新知