我在web.xml中使用以下配置重定向到错误页面
<error-page>
<error-code>401</error-code>
<location>/</location>
</error-page>当401错误发生时,它将重定向到'/‘,但URI将被保留。
假设我试图访问需要auth的'localhost:8080/account‘资源,那么就会发生重定向,但是URL仍然是'localhost:8080/account’。
我想知道如何重定向到“/”,并将url改为“localhost:8080/”。
发布于 2018-02-18 16:33:00
<error-page>指令设置在进程内的_forward_s,而不是客户机重定向(这将是3xx响应)。
如果要将401转换为302,则将<error-page>设置为指向一个具有Location响应头将响应代码更改为302的JSP。
请注意,将401响应更改为302响应(在遵循重定向时很可能会得到200响应),这首先就违背了拥有401响应的目的。
发布于 2018-02-13 16:12:03
您希望告诉客户端localhost:8080/account不存在,因此该资源应该报告404状态。为什么要重定向到根目录?根目录存在,因此重定向到根目录并返回404将是错误的。
错误页指令只是告诉tomcat从哪里提取404页的自定义HTML样式。不应该将客户端重定向到其他资源,因为--正如前面已经说过的--这将共同改变语义。
https://stackoverflow.com/questions/48770345
复制相似问题