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;
        }


  • 相关阅读:
    Eclipse下Tomcat插件的安装
    Eclipse插件的安装方法
    tomcat 详解五 tomcat页面设置访问权限
    W3C XML Schema 教程
    vb.net向Excel中写入值
    用VB操作Excel的方法
    怎样用VB自动更新应用程序
    VB读写INI文件的四个函数以及相关API详细说明
    oracle数据库元数据SQL查询
    javascript JTimer_2.0 时间日历控件使用方法
  • 原文地址:https://www.cnblogs.com/zitjubiz/p/Simple_URL_ReWrite.html
Copyright © 2011-2022 走看看