可以在Location指令下指定自定义HTTP错误500吗?

时间:2012-07-17 15:12:54

标签: apache weblogic errordocument

并提前抱歉我是HTTP服务器的新手。

我想从Oracle HTTP Server(OHS,基于Apache)自定义错误500。我想这应该是从ErrorDocument指令完成的,但是我从来没有找到任何用于自定义Webspace错误的示例,只有Filesystem 1(在DirectoryFile指令下)。< / p>

更准确地说,这是使用的默认配置的一部分:

RedirectMatch 301 ^/analytics$ /analytics/

## Context roots for BI EE
<Location /analytics >
 SetHandler weblogic-handler
 WebLogicCluster miaibv194.mia.michelin.com:9704
</Location>

如果我理解的话,RedirectMatchLocation指令用于将/ analytics等URL传递给Weblogic。是否可以在ErrorDocument下添加Location来自定义像/ analytics这样的网址出现的错误500?

我天真地尝试过但无法使其发挥作用。谢谢!

1 个答案:

答案 0 :(得分:0)

好吧,我最初想要实现的是在OBIEE 11g中定制HTTP错误500(在我们的例子中使用WebLogic和OHS)。我开了一个SR试图用OHS实现这个目标,但它失败了(甲骨文家伙告诉我我必须在应用程序级别这样做),所以我开了一个新的用来实现WebLogic本身,这就是它给出的: / p>

•在Oracle BI主目录中找到analytics.ear。这将是/ Oracle_BI1(或您在安装时选择命名Oracle BI Home的任何内容)/bifoundation/analytics.ear。 所以在我们的示例场景中,这将位于: C:\ OBI \ Oracle_BI1 \ bifoundation \ JEE \ analytics.ear •制作ear文件的备份副本,以便有一个还原点,以便在需要时返回(并还原到) 请注意,我们不支持更新analytics.ear文件,您必须停止,在部署新文件之前删除以前的analytics.ear文件。

•使用Java jar工具将analytics.ear文件解压缩到临时位置。使用命令行选项xvf提取内容 到当前的工作目录(例如C:\ OBI \ jdk160 \ bin \ jar -xvf C:\ OBI \ Oracle_BI1 \ bifoundation \ jee \ analytics.ear),所以你可能想要创建一个 临时目录,用于保存解压缩的内容并在运行命令之前切换到该目录。

耳朵包含一个META-INF目录和两个war文件,analytics.war和analytics-ws.war

•在META-INF目录中,有一个MANIFEST.MF文件,将以下行添加到文件末尾: Weblogic-Application-Version:11.1.1 请注意,据报道,在应用BI 11.1.1.5.0 BP2补丁后重新应用这些步骤时,应忽略更新MANIFEST.MF的此步骤,因为新的analytics.ear文件未进行版本控制。

•将analytics.war文件解压缩到第二个临时位置;它包含一个default.jsp文件和五个顶级目录,其中一个名为WEB-INF。

•在WEB-INF目录中,您将找到一个名为web.xml的现有文件。编辑web.xml,例如添加:

<error-page>
<error-code>500</error-code>
<location>/500error.jsp</location>
</error-page>

确保没有隐藏字符并检查您的平台的引号是否正确。

•编辑完web.xml后,再次使用jar工具重新打包analytics.war文件,然后将其重新打包回analytics.ear文件中。 接下来,我们需要将analytics.ear文件重新部署到Weblogic

•登录Weblogic Admin Console并单击Deployments

•在左上角的更改中心,单击“锁定并编辑”

•找到分析应用程序并单击旁边的复选框,然后单击“更新”按钮

•在Update Application Assistant屏幕中,确保部署路径与刚更新的ear文件相同,如果不更改路径

•单击“下一步”,然后单击“完成”

•在左上角的更改中心中,单击“激活更改”以保存更改。如果尚未执行此操作,请重新启动Weblogic Admin Server和所有受管服务器