请注意,在我尝试显示代码示例时,我将编辑/编辑对我工作的公司的任何引用,以掩盖他们的身份,而不是隐藏我什至询问的事实。还应该注意的是,我对这个 UrlRewrite/Tukey/dotCMS 游戏非常陌生。
我一直无法重定向到工作。它通过 dotCMS 使用 Tuckey URLRewrite。出于 SEO 的目的,尝试是重定向,但作为转发与代理。
我发现以下作品(“重定向”和“代理”在这里可以互换):
<to type="proxy">http://[redacted]:8080$1$3?%{query-string}</to>
但是,以下会导致 404(“转发”和“直通”在这里可以互换):
<to type="forward">http://[redacted]:8080$1$3?%{query-string}</to>
整个规则如下:
<!-- EN with Query Params -->
<rule>
<from>^/([^/]+)/en/([^/]+)?$</from>
<to type="proxy" qsappend="true">[redacted]:8080$1$3&%{query-string}</to>
</rule>
<!-- EN without Query Params -->
<rule>
<from>^(.*)(\/en)(\/.*)?$</from>
<to type="proxy">[redacted]:8080$1$3?%{query-string}</to>
</rule>
我最初的一些问题(可能会出现更多问题):
- 'proxy'/'redirect' 和 'forward'/'passthrough' 之间是否存在这样的区别,以至于需要实施更专业的努力来实现有意义的重定向?
- 我是否遗漏了其他配置文件中可能影响这些重定向尝试结果的内容?
编辑:RegEx 的不同之处在于我试图看看这是否可能是发生断开连接的地方