我已经搜索了相当多的内容并发现了类似的问题,但不完全一样,但是如果这是一个重复的问题,我会道歉。
基本上,当我的应用程序关闭时,我尝试使用自定义错误页面(即404.html)处理HTTP错误响应(即404),但weblogic仍在运行。
我正在使用Apache 2.2和weblogic模块。我为Apache设置了ErrorDocument指令以及块中的ErrorPage参数。
我还在我的web.xml中为我的应用程序设置了位置,但这个问题适用于应用程序关闭时。
目前,当应用程序关闭且weblogic正在运行时,我将获得weblogic默认404页面。如何强制apache和/或weblogic使用我的自定义页面?
以下是我尝试过的配置的一个变体示例。
<IfModule mod_weblogic.c>
WebLogicCluster host:port,host:port
KeepAliveEnabled ON
WLProxySSL OFF
Debug ALL
ErrorPage http://host:port/errors/errorSystem.html
</IfModule>
我可以直接访问错误页面,但不会在出错时转发流量。
我还尝试将ErrorPage设置为相对URL,这是理想的解决方案。
答案 0 :(得分:0)
apache.org的解释也是代码示例:
ErrorDocument 500 http://xxx/
ErrorDocument 404 /Lame_excuses/not_found.html
ErrorDocument 401 /Subscription/how_to_subscribe.html
答案 1 :(得分:0)
根据WebLogic文档,使用ErrorPage参数,“当后端服务器返回HTTP 503 /服务不可用响应并且没有用于故障转移的服务器时,插件会重定向到错误页面。” EM>。
因此,WebLogic的404错误将不重定向到使用ErrorPage参数指定的自定义错误页面。
解决方法是创建一个简单的Web应用程序并将其部署到WebLogic上。在这个网络应用程序中:
指定自定义错误代码和页面映射,例如:
&LT;错误页&GT;
&LT;错误代码&GT; 404&LT; /出错码&GT;
&LT;地点&gt; /errors/404.html< /地点&gt;
&LT; /错误页&GT;
说明您的上下文根是'/':
&lt; weblogic-web-app xmlns =“http://www.bea.com/ns/weblogic/90”xmlns:xsi =“http://www.w3.org/2001/XMLSchema-instance” &GT;
的&LT;上下文根&GT; /&LT; /上下文根&GT; 强>
&LT; / WebLogic的web应用程序&GT;
您需要设置错误页面,例如您的webapp的'/ errors'文件夹。
请注意,“ FMW欢迎页面应用程序”可能已经部署,并在WebLogic域中使用“/”作为context-root。如果是这种情况,我认为取消部署或解除它是安全的,但建议您将SR提升到产品支持,询问是否这样做很难。