一致しない webapp コンテキストのリストは"/"
、の責任の一部として提示されます。org.eclipse.jetty.server.handler.DefaultHandler
はDefaultHandler
デフォルトで有効になっており、サーブレット仕様への準拠を維持しています。
DefaultHandler の無効化:
DefaultHandler によって情報が提示されない単純な 404 が必要な場合は、${jetty.home}/etc/jetty.xml
<!-- =========================================================== -->
<!-- Set handler Collection Structure -->
<!-- =========================================================== -->
<Set name="handler">
<New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
<Set name="handlers">
<Array type="org.eclipse.jetty.server.Handler">
<Item>
<New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
</Item>
<!-- Disable the DefaultHandler to avoid listing of non-matching contexts
<Item>
<New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/>
</Item>
-->
</Array>
</Set>
</New>
</Set>
"/"
(ROOT) コンテキストの静的コンテンツの表示:
"/"
ルート コンテキスト(ROOT) に別のものを表示させたい場合は、${jetty.home}/webapps/ROOT
ディレクトリを作成し、そこに index.html ファイルを配置します。
[jetty-distribution-7.6.13.v20130916]$ cat webapps/ROOT/index.html
<h1>This is ROOT</h1>
これにより、必要なコンテンツ、画像、css などを配置できる静的コンテンツ webapp がデプロイされます。
"/"
別のパスへの自動リダイレクト(ROOT):
${jetty.home}/webapps/ROOT
注: これは、上記のオプション、このオプション、またはそのオプションと同時には機能しませんが、両方では機能しません。
Jetty を"/"
別の URL に自動的にリダイレクトする場合は、書き換えハンドラーを使用します。
書き換えオプションが有効になっていることを確認し、一連の書き換えルール xml を含めます。
[jetty-distribution-7.6.13.v20130916]$ grep rewrite start.ini
OPTIONS=Server,jsp,jmx,resources,websocket,ext,rewrite
etc/jetty-rewrite.xml
次に、書き換えルールを定義します...
からへの${jetty.home}/etc/jetty-rewrite.xml
アクセスをリダイレクトするの内容"/"
"/test/"
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN"
"http://www.eclipse.org/jetty/configure.dtd">
<Configure id="Server" class="org.eclipse.jetty.server.Server">
<Get id="oldhandler" name="handler"/>
<Set name="handler">
<New id="Rewrite" class="org.eclipse.jetty.rewrite.handler.RewriteHandler">
<Set name="handler"><Ref id="oldhandler"/></Set>
<Set name="rewriteRequestURI">true</Set>
<Set name="rewritePathInfo">false</Set>
<Set name="originalPathAttribute">requestedPath</Set>
<!-- redirect from the welcome page to a specific page -->
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.RedirectRegexRule">
<Set name="regex">^/$</Set>
<Set name="replacement">/test/</Set>
</New>
</Arg>
</Call>
</New>
</Set>
</Configure>