Web.xml的<error-page>允许开发人员指定在出现某些错误( HTTP或java异常)时返回给客户端的内容。
但我有两个不同的404错误页,每个地区。
我的web应用程序的结构使得locale A的所有资源都在路径/a/下,locale B的资源在路径/b/下。
当试图访问每个区域设置下的页面时,我希望为404提供一个本地化错误页面(要明确的是,尝试访问/a/some-undefined-resource应该返回404 +一个本地化的区域设置A的错误页面)。
考虑到其他限制,实际上不可能为每个地区部署两个单独的应用程序,a.war和b.war。
如何提供依赖于所请求的原始资源的错误页?
发布于 2020-07-31 18:21:45
我最终放弃了使用<error-page>为我的SPA服务的想法,并使用urlrewrite重写滤波器将URL重写为/a/index.html或/b/index.html。
缺点是,当我在SPA中添加新的路由时,现在有两个地方需要编辑:
app-routing.module.ts),以及urlrewrite.xml。此外,如果我在未来添加一个新的地区,我将需要添加一套新的规则来涵盖我的所有路线。
此外,我不知道这个过滤器将如何影响我的网站的性能。由于这是一个低流量的项目,我将保持这种方式,直到我找到更好的解决办法。
这也有一个好处:现在那些--否则是合法的--请求的状态为200提供服务,而真正丢失的资源被用404发出信号,并且不包含默认内容。
https://stackoverflow.com/questions/63176213
复制相似问题