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>

  • 相关阅读:
    左萧龙(LZ)个人博客
    不同样式的计数
    CSS径向渐变radial-gradient
    优秀的Android资源
    读取csv格式的数据
    php 获取URL 各部分参数
    phpstorm查找替换文件中的变量
    PhpStorm 快捷键大全 PhpStorm 常用快捷键和配置
    phpstorm 代码注释后,撤销某段代码的注释的,快捷键是什么?
    关于thinkphp5手动抛出Http异常时自定义404页面报错的问题
  • 原文地址:https://www.cnblogs.com/li12fei12/p/4554714.html
Copyright © 2011-2022 走看看