gpt4 book ai didi

tomcat - UrlRewriteFilter 开关 ?和 &

转载 作者:行者123 更新时间:2023-11-28 22:42:48 26 4
gpt4 key购买 nike

我想将来自模式 http://myIntranet/* 的所有流量(包括所有参数等)重定向到 http://myIntranet.domain.com/*

我在 urlrewrite.xml 中设置了以下配置:

    <rule>
<name>Canonical Hostnames</name>
<note>
The goal of this rule is to force the use of a particular hostname, in preference to other hostnames which
may be used to reach the same site. For example, if you wish to force the use of www.example.com instead of
example.com, you might use a variant of the following recipe.

RewriteCond %{HTTP_HOST} !^fully\.qualified\.domain\.name [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/(.*) http://fully.qualified.domain.name/$1 [L,R]
</note>

<condition name="host" operator="notequal">^myIntranet\.domain\.com</condition>
<condition name="host" operator="notequal">^$</condition>
<from>^/(.*)</from>
<to type="redirect" last="true">http://myIntranet.domain.com/$1</to>

</rule>

这对于这种情况类型是可以的:当您转到 http://myIntranet/ 时,您将被重定向到 http://myIntranet.domain.com/

但是当您转到 http://myIntranet/something/viewpage.action?pageId=529509 时,它并不好,因为它忽略了后缀 tu 基本 URL 的某些部分。我希望它重定向到 http://myIntranet.domain.com/something/viewpage.action?pageId=529509

有什么建议吗?

编辑:

我找到了解决方案。我只需要在 to 标签中添加 qsappend="true",如下所示:

<to type="redirect" last="true" qsappend="true">http://myIntranet.domain.com/$1</to>

使用此配置和调用 URL:

http://myIntranet/something/viewpage.action?pageId=529509

我得到:

http://myIntranet.domain.com/something/viewpage.action&pageId=529509 

现在,问题是 UrlRewriteFilter 出于某些未知原因将 ? 切换为 &

我还在 UrlRewriteFilter repository on Google Code 上发布了问题.

有什么建议吗?

最佳答案

这是 UrlRewriteFilter 中的一个已知问题,请参阅此处的发行说明:

Appending query strings breaks URL[更新] 我刚刚看到你在最后一句话中提到的……我感到羞耻

尽管发行说明中有说明fixed in 4.0.5 ,在任何公共(public) Maven repo 中都没有这样的版本,并且 SVN trunk仍在 4.0.5-SNAPSHOT 上。

关于tomcat - UrlRewriteFilter 开关 ?和 &,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22707500/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com