【问题标题】:Url Rewrite Regex网址重写正则表达式
【发布时间】:2012-11-02 21:31:39
【问题描述】:

我在重写 URL 时遇到了麻烦,URL ~/global/products/en/page?sdfsdf=sgdfg 在没有查询字符串的情况下可以完美运行,但无法使用它。有人可以帮忙吗?移动站点~/global/products/en/m/page 使用相同的规则,这就是为什么中间有[a-zA-Z0-9/_-]*?。规则 6 是我尝试修复它的尝试,但我在一般的正则表达式方面很糟糕,所以任何帮助都将不胜感激。

<add name="rule1" 
     virtualUrl="^~/[a-z-]*/([a-zA-Z0-9/_-]*?[^\.])$" 
     rewriteUrlParameter="ExcludeFromClientQueryString"   
     destinationUrl="~/country/$1.aspx" 
     ignoreCase="true" />
<add name="rule2" 
     virtualUrl="^~/[a-z-]*/([a-zA-Z0-9/_-]*?)(.+)\?(.*)$" 
     rewriteUrlParameter="ExcludeFromClientQueryString"    
     destinationUrl="~/country/$1.aspx?$2" 
     ignoreCase="true"/>

【问题讨论】:

    标签: regex url-rewriting friendly-url


    【解决方案1】:

    ExcludeFromClientQueryString 更改为IncludeQueryStringForRewrite

    像这样:-

    <add name="rule1" 
         virtualUrl="^~/[a-z-]*/([a-zA-Z0-9/_-]*?[^\.])$"           
         rewriteUrlParameter="IncludeQueryStringForRewrite" 
         destinationUrl="~/country/$1.aspx"  
         ignoreCase="true" />
    <add name="rule2" 
         virtualUrl="^~/[a-z-]*/([a-zA-Z0-9/_-]*?)(.+)\?(.*)$" 
         rewriteUrlParameter="IncludeQueryStringForRewrite" 
         destinationUrl="~/country/$1.aspx?$2" 
         ignoreCase="true"/>
    

    【讨论】:

      猜你喜欢
      • 2013-01-29
      • 2014-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多