2009-08-13 21 views
3

静的なコンテンツをどのように提供できますか?私はhtmls、cssなどのディレクトリ構造を持っており、http://localhost:8080/myStaticContent/index.htmlのようなアドレスでそれを提供したいと思います。Liferay - 静的なコンテンツを提供

私はapacheのようなフロントエンドのhttpサーバを使いたくありません。

答えて

3

私は静的なコンテンツだけを持つ.warをデプロイすることでそれを実現しました。パスはliferay url/war_nameです。

だから私はこのようなファイルとの戦争を持っている場合: - URLを短縮

myproj.war 
+-- myDir 
    +-- myFile.html 

URLはあなたにもmyDirにせずに行くことができますhttp://localhost:8080/myproj/myDir/myFile.html

+0

のようなものになります。静的コンテンツを持つwarファイルでも、サーブレットが含まれていなくても、WEB-INF/web.xmlをサーブレットコンテナで取得する必要があるかどうかはわかりません。 –

+0

ok - これをコメントしたところ、自分の質問に答えたことがわかりました。気にしないで。また、これを試してみてください:liferayは、/ c/*/html/*/images/*などのようにすぐにはわからないURLをいくつか提供しています。ここで命名の競合を取得するのは簡単です。 –

+0

コメントありがとう –

1

この場合、LiferayがJBossまたはTomcatを使用していると仮定します。このお試しください:

  • 検索のserver.xmlをし、それは、JBossの場合、あなたはここのserver.xmlを見つけることができ、それに<コンテキスト>要素を追加します。

[JBossの-ホーム] /サーバー/ [設定名] /deploy/jboss-web.deployer/server.xmlそれは、このような "ホスト" 要素内に入る

<Context path="/myStaticContent" 
    docBase="/absolute/path/to/static/content" debug="0" reloadable="true"/> 

<Host name="localhost" .....> <!-- add it here --> </Host> 
  • docBase( "/ absolute/path/to/static/content")に記載されている場所にWEB-INFフォルダを追加し、その中にベアボーンweb.xmlを配置します。
0

編集:これに答えるときにあなたの質問を誤解していると思います。他の人がこの質問を見つけて、あなたとは異なる静的なコンテンツ要件を持っている場合にのみ答えを残します。ピーターとミゲルは、より良いあなたの特定の質問に一致する答えを与える)


簡単な方法は、liferaysにcdn features(CDN =「コンテンツ配信ネットワーク」)を活用することがあります。残念なことに、ドキュメントをすばやくスキャンすると、この設定オプションだけが見つかりましたが、どのコンテンツが「静的」とみなされているかに関する情報が欠落していました。それは情報がそこにないと言うことではない - 私はそれを見つけることができませんでした。

cdnが別のホスト名を意味するにもかかわらず、同じホスト名と場合によっては別のWebアプリケーションコンテキストパス(サーバー上のパスなど)が離れてしまうことがあります。ライフサイクルを提供するサーバー内には、任意の数の独立したアプリケーションを展開できます。

特に、静的コンテンツを別のホスト/アプリケーションに取り出す場合は、専用サーバ(または少なくともDNS名)またはapache/tomcatの組み合わせを使用する方がよいでしょう。 Tomcatよりもはるかに少ないリソースです。

関連する問題