gpt4 book ai didi

java - Tuckey - URL 重定向有效但转发无效

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

我有一个简单的 tuckey 规则将一条路径转发到另一条路径,它看起来像:

<rule>
<name>foo</name>
<condition name="user-agent">some condition based on device</condition>
<from>^/abc/(.*)$</from>
<to type="forward">/xyz/$1</to>
</rule>

事实上,我在点击/abc 时收到 404,但是当我将类型更改为“重定向”时,它工作正常。

是不是我定义的规则有问题?

最佳答案

<to type="forward">/xyz</to>

相当于

RequestDispatcher rq = request.getRequestDispatcher("/xyz"); 
rq.forward(request, response);

转发发生在服务器上。 servlet 容器只是将相同的请求转发到目标 url,而浏览器对此一无所知。所以你的转发目标 url 应该在相同的上下文中。

这意味着,如果 /xyz/ URL 是一些外部 URL,不在您的应用程序上下文中,您不能转发到它 - 相反,您应该重定向。

也就是说,我假设您的 <to> URL 是外部的,这就是 UrlRewriteFilter 不起作用的原因。您可以更改为 redirect或确保您要转发到应用程序上下文中的 URL。

关于java - Tuckey - URL 重定向有效但转发无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28891631/

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