0

Resin (3.0.27) がウェルカムファイルをサーブレットにマップすることは可能ですか?

これがサポートされていないと言うCauchoのドキュメントには何も見つかりません。どうぞよろしくお願いいたします。

<servlet-mapping>
    <servlet-name>td</servlet-name>
    <url-pattern>*.htm</url-pattern>
</servlet-mapping>

<welcome-file-list>
    <welcome-file>index.htm</welcome-file>
</welcome-file-list>

編集:私の投稿から明らかでない場合、上記は機能していません。:)

編集: ファイル システムに index.htm を配置すると、サーブレット マッピングが機能します。物理ファイルが見つからない場合、Resin が要求を終了するかのようです。

4

1 に答える 1

1

caucho_moduleが構成をロードする方法が原因で、ウェルカムファイルを無視する可能性があります。ウェルカムファイルのマッピングは、サーブレットコンテナ(たとえば、あなたの場合はResin)によって行われます。しかし、caucho_moduleは、Resinに何が行き、何が行きませんか、Apacheがそれ自体に何を提供しようとするかを決定するのに役立つ、明示的なマッピングが存在することを探しているようです。

おそらく、これはウェルカムファイルの処理を考慮していないcaucho_moduleのバグですか?

これが当てはまる場合、これを回避するための厄介な方法の1つは、「ウェルカムファイル」にマップするURLにApacheのmod_rewriteを使用することです。確かに、これを試してみると、その事実が証明される可能性があります。たとえば、次のようになります。

RewriteEngine on
RewriteRule ^/your/url/$  /your/url/index.htm [R=permanent,L]

最後のスラッシュで終わるURLと終わらないURLのバージョンを試してみることをお勧めします...私はmod_rewriteに精通していないため、違いが生じるかどうかを知ることができません。とにかく、これは、ウェルカムページで終わるURLをリダイレクト(ページをリロード)するようにクライアントに指示するようにApacheに指示します。この種の問題が解決した場合、IMOこれはcacho_moduleのバグです。

テストとして試すもう1つのことは、Resinに直接アクセスして(多くの場合ポート8888で)、Apache HTTPをバイパスして、Resinに直接アクセスしてウェルカムページが正しく処理されるかどうかを確認することです。

于 2009-05-27T03:42:31.507 に答える