zoukankan      html  css  js  c++  java
  • Url rewriter 原代码

    How URL rewriting accepts a url and rewrites it
    参考文章
    http://www.cnblogs.com/edobnet/archive/2004/06/02/12866.aspx

    参考代码

    Global.aspx.cs:


            
    protected void Application_BeginRequest(Object sender, EventArgs e)
            
    {
                
    try
                
    {
                    
    string path=Server.MapPath("~/ReWriter.config");
                    XPathDocument myXPathDocument 
    = new XPathDocument(path);
                    XPathNavigator myXPathNavigator 
    = myXPathDocument.CreateNavigator();

                    XPathNodeIterator myXPathNodeIterator 
    =  myXPathNavigator.Select ("//rule");
                    System.Text.RegularExpressions.Regex oReg;
                    
    string ReWriteUrl;

                    
    while (myXPathNodeIterator.MoveNext())
                    
    {
                        
    //oReg=new Regex(oNode.SelectSingleNode("url/text()").Value);
                        XPathNavigator nav2 = myXPathNodeIterator.Current.Clone();
                        
    string oldString="",newString="";
                        XPathNodeIterator it2 
    = nav2.Select("old");
                        
    while(it2.MoveNext())
                        
    {
                            oldString 
    = it2.Current.Value;
                            
    break;
                        }

                        it2 
    = nav2.Select("new");
                        
    while(it2.MoveNext())
                        
    {
                            newString 
    = it2.Current.Value;
                            
    break;
                        }

                        
    if(oldString != "" &&  newString != "")
                        
    {
                                oReg 
    = new System.Text.RegularExpressions.Regex(oldString);
                                
    if(oReg.IsMatch(Request.Url.ToString()))
                                
    {
                                    ReWriteUrl 
    = oReg.Replace(Request.Url.ToString(),newString);
                                    HttpContext.Current.RewritePath(ReWriteUrl);
                                    
    break;
                                }

                        }

                    }

                    
                }

                
    catch
                
    {
                }


            }


    ReWriter.config ,配制文件

    <?xml version="1.0" encoding="utf-8" ?>
    <ReWriterUrls>
            
    <rule>
                
    <old>(.*)/TestUrlRe/file(.*)/(.*).html</old>
                
    <new>../WebForm1.aspx?id=$2&amp;type=$3</new>
            
    </rule>
            
    <rule>
                
    <old>(.*)/TestUrlRe/t(.*)/(.*).html</old>
                
    <new>../WebForm1.aspx?tid=$2&amp;ttype=$3</new>
            
    </rule>
    </ReWriterUrls> 


    http://www.cnblogs.com/edobne
  • 相关阅读:
    python爬虫之urllib库(三)
    python爬虫之urllib库(二)
    认识CSS中css引入方式、选择器、文本样式设置以及显示模式
    认识CSS中盒子模型
    python爬虫之urllib库(一)
    认识CSS中css背景样式设置
    python爬虫之认识爬虫和爬虫原理
    认识CSS中css的三大特性:层叠性、继承性以及优先级
    认识HTML中表格、列表标签以及表单控件
    python-基础学习篇(八)
  • 原文地址:https://www.cnblogs.com/flyfish/p/82652.html
Copyright © 2011-2022 走看看