繁体   English   中英

Tomcat-重定向到错误页面后如何更改URL

[英]tomcat - how to change url after redirecting to an error page

我在web.xml中使用以下配置重定向到错误页面

<error-page>
        <error-code>401</error-code>
        <location>/</location>
</error-page>

当发生401错误时,它将重定向到“ /”,但保留了URI。

假设我要访问需要身份验证的'localhost:8080 / account'资源,则重定向发生了,但URL仍然是'localhost:8080 / account'。

我想知道如何重定向到“ /”并使URL为“ localhost:8080 /”

您想告诉客户端localhost:8080 / account不存在,因此此资源应报告404状态。 为什么要重定向到根目录? 根目录存在,因此重定向到根目录并返回404就是错误的。

错误页面指令仅告诉tomcat从何处提取404页面的自定义HTML样式。 不应将客户端重定向到其他资源,因为-如前所述,这将一起改变语义。

<error-page>指令设置进程内的forward ,而不是客户端重定向的(这将是3xx响应)。

如果要将401转换为302,则将<error-page>为指向一个JSP,该JSP将使用Location响应标头将响应代码更改为302。

请注意,将401响应更改为302响应(遵循重定向时,最终可能会变成200)会破坏首先获得401响应的目的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM