Mys*_*ter 3 umbraco url-rewriting urlrewriting.net redirect-loop query-string
我有一个项目,我们正在为客户重建一个站点,新站点在.net平台上使用umbraco.旧址冷融合.
Umbraco使用urlrewriting.net库,所以我为旧的冷融合网址创建了所有301重定向规则,但是这个规则导致无限循环.
<add name="r66" virtualUrl="^~/thing_info/index.cfm.D413249D-BCD8-304B-02CD-561DAC70641E$"
destinationUrl="~/about-us/award-winning-product" redirect="Application" redirectMode="Permanent" ignoreCase="true" />
Run Code Online (Sandbox Code Playgroud)
我知道 "." 有一个特殊的意义,但它运作良好,我也用过"." 匹配包括"?"在内的任何角色 开始查询字符串的字符.如果我访问尝试没有像这样的查询字符串的网址
http://staging.site/thing_info/index.cfm-D413249D-BCD8-304B-02CD-561DAC70641E
Run Code Online (Sandbox Code Playgroud)
然后我被正确地重定向到
http://staging.site/about-us/award-winning-product
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试网址(问号是唯一的区别)
http://staging.site/thing_info/index.cfm?D413249D-BCD8-304B-02CD-561DAC70641E
Run Code Online (Sandbox Code Playgroud)
然后我最终进入了一个重定向循环.(我检查了响应头)
有没有人知道我做错了什么或者urlrewriting.net库中是否有错误?或者如何纠正问题?
默认情况下,UrlRewritingNet不会在模式匹配中包含查询字符串.要启用此功能,您需要添加以下属性rewriteUrlParameter ="IncludeQueryStringForRewrite"
<add name="r66" virtualUrl="^~/thing_info/index.cfm.D413249D-BCD8-304B-02CD-561DAC70641E$"
destinationUrl="~/about-us/award-winning-product" redirect="Application" redirectMode="Permanent"
ignoreCase="true" rewriteUrlParameter="IncludeQueryStringForRewrite" />
Run Code Online (Sandbox Code Playgroud)
尝试一下,让我知道它是否有效.
乔纳森
| 归档时间: |
|
| 查看次数: |
2400 次 |
| 最近记录: |