zoukankan      html  css  js  c++  java
  • 最简单的URLReWrite的方法

    网上一般都是写HttpModule,但这个写法在IIS7就Out了.

    IIS7 的管道模式直接在web.config就可以配置了.

    Web.config
    <configuration>
        
    <!-- these for IIS7 url rewrite-->
        
    <system.webServer>
            
    <rewrite>
                
    <rules>
                    
    <rule name="Rewrite to Items.aspx">
                        
    <match url="^article/([0-9]+).html$" />
                        
    <action type="Rewrite" url="article.aspx?newid={R:1}" />
                    
    </rule>
                
    </rules>
            
    </rewrite>
        
    </system.webServer>
    </configuration>


    或者用另一种简单的方法,就是Global.asax里面写

    代码
        protected void Application_BeginRequest(object sender, EventArgs e)
        {
            Context.RewritePath(UrlRewrite(Request.RawUrl));
        }
        
    //Reg Expression to Decode SEO url to xxx.aspx?a=1&b=2 format for Context.RewritePath
        public static string UrlRewrite(string SEOUrl)
        {
            
    string VPath = Request.ApplicationPath + "/";

            Regex regProd 
    = new Regex(VPath+"Products_(\\w+)_(\\d).aspx", RegexOptions.IgnoreCase);
            
    if (regProd.IsMatch(SEOUrl))
            {
                Match M 
    = regProd.Match(SEOUrl);
                
    string CategoryId = M.Groups[1].Value; //"BUGS";
                string PageIndex = M.Groups[2].Value;//"0";
                return string.Format(VPath + "Products.aspx?page={0}&categoryId={1}", PageIndex, CategoryId);
            }

            Regex regItem 
    = new Regex(VPath + "Items_(\\w+)_([a-zA-Z0-9_-]+).aspx", RegexOptions.IgnoreCase);
            
    if (regItem.IsMatch(SEOUrl))
            {
                Match M 
    = regItem.Match(SEOUrl);
                
    string CategoryId = M.Groups[1].Value; //"BYARD";
                string productId = M.Groups[2].Value;//"BY-01";

                
    return string.Format(VPath + "Items.aspx?productId={0}&categoryId={1}", productId, CategoryId);
            }

            
    return SEOUrl;
        }


  • 相关阅读:
    认识Linux
    Java之安装环境
    Markdown学习
    使用cacti监控linux server的接口流量
    IDRAC安装dell服务器操作系统(linux or windows),用到生命周期管理器
    网络编程--练习题
    linux搭建ntp服务器-添加交换机客户端,windows客户端
    linux centos7搭建redis-5.0.5
    linux centos7搭建mysql-5.7.29
    对称加密与非对称加密
  • 原文地址:https://www.cnblogs.com/zitjubiz/p/Simple_URL_ReWrite.html
Copyright © 2011-2022 走看看