• 最简单的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;
        }


  • 相关阅读:
    Oracle把表记录恢复到指定时间节点
    解决Idea配置文件不显示中文的问题
    maven过滤配置文件
    文件流字符串互转
    jax-rs下载文件
    Excel导入异常Cannot get a text value from a numeric cell解决及poi导入时注意事项
    oracle获取表字段及表注释的相关操作
    pb SendMessage
    pb datawindow的用法
    charindex函数的用法
  • 原文地址:https://www.cnblogs.com/zitjubiz/p/Simple_URL_ReWrite.html
Copyright © 2020-2023  润新知