Myappアプリケーションの設定の一部であるJBoss7の他のすべてのコンテキストのエラーページをカスタマイズする場合は、次のものもあります。
- JBossウェルカムページを無効にするには:ファイルstandalone / configuration / Standalone.xml(またはdomain / configuration / domain.xml)で、属性enable-welcome-rootをfalseに設定します(デフォルトではtrueです)。
- 次に、context-rootを「/」に設定する単純なwarファイルをデプロイし、このwarのエラーページを定義する必要があります(Myappで使用したのと同じ方法を使用)。したがって、warの構造は次のようになります(error.warの名前は任意です)。
error.war
|
|- META-INF
|- WEB-INF
| |
| |- web.xml
| |- jboss-web.xml
|
|- error
|- 404.html
ここで、web.xmlファイルは次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>yourcompanyname</display-name>
<error-page>
<error-code>404</error-code>
<location>/error/404.html</location>
</error-page>
</web-app>
また、jboss-web.xmlでcontext-rootを'/'として定義すると、次のようになります。
<jboss-web>
<context-root>/</context-root>
</jboss-web>
ファイル404.htmlは、カスタマイズされたhtmlエラーページであり、404のデフォルトエラーの代わりにJbossが表示します。以上で、このアプリケーションをJBoss 7にデプロイすると、fubar dot com:8080/yzyqqaまたはその他のルートコンテキストにアクセスしたときにカスタム404エラーページが表示されます。Myapp web.xml(およびサーバーにデプロイする可能性のある他のすべてのアプリケーション)でもエラー構成を保持する必要があることに注意してください。
ちなみに、アプリMyappをfubar dot com:8080から直接アクセスできるようにすることを検討しましたか?または、jbossサーバーにプロキシ(Apacheなど)からのみアクセスできるようにすることもできます。これにより、この問題も回避できます。
お役に立てば幸いです。