UrlRewrite正则表达式匹配、配置实例和分析(转)

转自 http://hi.baidu.com/rainfling/blog/item/ce54673995f76b2db9998f4b.html

自己对正则表达式不熟悉,所以在配置UrlRewrite的时候遇到了很大的问题,终于在网上找到一些资料,基本上可以解决常用的配置:

  1. urlrewrite.xml配置:   
  2. "1.0" encoding="UTF-8"?>   
  3. "../resources/urlrewrite3.2.dtd" >   
  4.   
  5.                
  6.                        
  7.                          无参数匹配     
  8.                        
  9.                  ^/([_a-zA-Z]+[_0-9a-zA-Z-/]*[_0-9a-zA-Z]+)$      
  10.                  "forward">/$1.do      
  11.                 
  12.            
  13.            
  14.                
  15.                    
  16.                      将所有.jsp文件映射为.html   
  17.                    
  18.                  ^/([_a-zA-Z]+[_0-9a-zA-Z-/]*[_0-9a-zA-Z]+).html$      
  19.                  "forward">/$1.jsp      
  20.            
  21.            
  22.        
  23.            



  1.   
  2.          homepage   blog username like http://blog.csdn.net/pigo   
  3.              /u/([a-zA-Z0-9 ]+)/?$  
  4.              /user/main.jsp?username=$1   
  5.            
  6.            
  7.          homepage   blog username like http://blog.csdn.net/pigo/rss.xml   
  8.              /u/([a-zA-Z0-9 ]+)/rss.xml $  
  9.              /user/rss.jsp?username=$1   
  10.            
  11.            
  12.          blog catgory   http://blog.csdn.net/pigo/category/42406.html   
  13.              /u/([a-zA-Z0-9 ]+)/category/([a-zA-Z0- 9 ]+).html  
  14.              /user/cat.jsp?username=$1 &catno=$ 2   
  15.            
  16.            
  17.          blog catgory rss http://blog.csdn.net/pigo/category/42406.xml   
  18.              /u/([a-zA-Z0-9 ]+)/category/([a-zA-Z0- 9 ]+).xml   
  19.              /user/catrss.jsp?username=$1 &catno=$ 2   
  20.            
  21.             
  22.          blog photo catgory   http://blog.csdn.net/pigo/photo/42406.html   
  23.              /u/([a-zA-Z0-9 ]+)/photo/([a-zA-Z0- 9 ]+).html  
  24.              /user/photo.jsp?username=$1 &catno=$ 2   
  25.            
  26.            
  27.          blog issue http://blog.csdn.net/pigo/archive/2006/03/23/783904.html   
  28.              /u/([a-zA-Z0-9 ]+)/archive/([ 0 - 9 ]+)/([ 0 - 9 ]+)/([ 0 - 9 ]+)/([a-zA-Z0- 9 ]+).html  
  29.              /user/issue.jsp?username=$1 &blogno=$ 5   
  30.            
  31.            
  32.          blogarchive by month http://blog.csdn.net/pigo/archive/2005/08.html   
  33.              /u/([a-zA-Z0-9 ]+)/archive/([ 0 - 9 ]+)/([ 0 - 9 ]+).html  
  34.              /user/archivelist.jsp?username=$1 &year=$ 2 &month=$ 3   
  35.            
  36.            
  37.          blogapi by user http://blog.csdn.net/pigo/blogapi.html   
  38.              /u/([a-zA-Z0-9 ]+)/blogapi.html  
  39.              /blogapi/?username=$1   
  40.            
  41.             
  42.          blogadmin by user http://blog.csdn.net/pigo/blogadmin.html   
  43.              /u/([a-zA-Z0-9 ]+)/blogadmin.html  
  44.              /admin/index.jsp?username=$1   
  45.         

     ^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
     ^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
     ^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
     ^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
     ^/w+$ //匹配由数字、26个英文字母或者下划线组成的字符串

     实际上在ISAPI Rewrite中使用最多的两个正则表达式就是代表匹配字幕和数字的([a-z0-9/_]+)以及代表数字的([0-9]+),只要灵活的掌握这两点,并且按照上面的公式去套用的话,正则表达式并不是一件难办的事。

你可能感兴趣的:(URLRewrite)