首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图基URLRewrite中的“重定向”和“代理”与“前进”和“通过”

图基URLRewrite中的“重定向”和“代理”与“前进”和“通过”
EN

Stack Overflow用户
提问于 2017-09-07 20:13:54
回答 1查看 1.1K关注 0票数 0

请注意,在我试图显示代码示例时,我将编辑/编辑对我为之工作的公司的任何引用,以掩盖他们的身份,而不是掩盖我所要求的事实。还应该注意的是,我对这个UrlRewrite/Tuckey/dotCMS游戏非常陌生。

我一直很难重新找到工作的方向。它通过dotCMS使用Tuckey URLRewrite。该尝试是重定向,但作为前进与代理,为SEO的目的。

我发现以下工作(“重定向”和“代理”在这里是可互换的):

代码语言:javascript
复制
<to type="proxy">http://[redacted]:8080$1$3?%{query-string}</to>

然而,下面的结果导致404 (“前进”和“通过”在这里是可互换的):

代码语言:javascript
复制
<to type="forward">http://[redacted]:8080$1$3?%{query-string}</to>

该规则的全部内容如下:

代码语言:javascript
复制
      <!-- EN with Query Params -->
  <rule>
    <from>^/([^/]+)/en/([^/]+)?$</from>
    <to type="proxy" qsappend="true">[redacted]:8080$1$3&amp;%{query-string}</to>
  </rule>
  <!-- EN without Query Params -->
  <rule>
    <from>^(.*)(\/en)(\/.*)?$</from>
    <to type="proxy">[redacted]:8080$1$3?%{query-string}</to>
  </rule>

我最初的一些问题(可能会出现更多的问题):

  1. “代理”/“重定向”与“前向”/“传递”之间是否有如此的区别,以至于需要进行更专门的努力来实现有意义的重定向?
  2. 我是否遗漏了其他配置文件中可能影响重定向尝试的结果?

编辑: RegEx中的不同之处在于我正在尝试一些事情,看看这是否可能是断开连接的地方。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-07 23:10:54

因为dotCMS中的urls并不真正存在,所以由转发规则使用的无法工作。您需要设置一个请求属性CMS_FILTER_URLMAP_OVERRIDE,dotCMS将尊重该属性。在代码中,如下所示:

代码语言:javascript
复制
    NormalRule forwardRule = new NormalRule();
    forwardRule.setFrom( "^/example/forwardDotCMS/(.*)$" );
    SetAttribute attribute = new SetAttribute();
    attribute.setName("CMS_FILTER_URLMAP_OVERRIDE");
    attribute.setValue("/about-us/index");
    forwardRule.addSetAttribute(attribute);
    addRewriteRule( forwardRule );
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46104397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档