空页而不是自定义tomcat错误页面

Ale*_*der 7 tomcat custom-error-pages

我的设置:Apache 2.2 + Tomcat 6.0 @ Windows 2008 R2 64bit

  • 静态网页:/
  • servlet:/ foo
  • tomcat和apache由mod_jk连接
  • 404.jsp放在tomcat\webapps\ROOT中

tomcat的\的conf\web.xml文件:

<error-page>
 <error-code>404</error-code>
 <location>/404.jsp</location>
</error-page>
Run Code Online (Sandbox Code Playgroud)

阿帕奇\的conf \额外\的httpd-ssl.conf中:

JkMount /foo/* worker1
JkMount /404.jsp worker1
Run Code Online (Sandbox Code Playgroud)

当我打开https://...../404.jsp时,会显示我的自定义错误页面.但是当我打开https://...../foo/nonexisting.html时,会显示一个空白页面.

如果我<error-page>...</error-page>从web.xml中删除代码并打开https://...../foo/nonexisting.html,则显示tomcats自己的404.

任何提示?

Ale*_*der 1

据我所知,Web应用程序的错误无法通过放置在ROOT中的错误页面来处理。我现在将 404.jsp 放入每个 Web 应用程序中(/foo/404.jsp、/bar/404.jsp,...),现在它可以工作了。我可以安全地删除 ROOT 中的 404.jsp,但是如果我删除 /foo 或 /bar 中的 404.jsp,则当任一 Web 应用程序中发生 404 时,都会提供一个空白页面。tomcat 会忽略“location”元素中的前导 /,或者该元素的内容会附加到“调用”web 应用程序的路径中。