2

私が持っている Liferay サイト用の簡単なフックを作成しました。デフォルトの Liferay 404 をオーバーライドする 404.jsp が含まれています。特定のページを入力すると、正常に動作します。例えば:

http://localhost:8080/jooky.jspに行くとスローされる

重大: PWC6117: ファイル "C%3A%5Cbundles%5Cliferay-portal-6.1.0-ce-ga1%5Cglassfish-3.1.1%5Cdomains%5Cdomain1%5Capplications%5Cliferay-portal%5Cjooky.jsp" が見つかりません

私のGlassfishサーバーログに表示され、問題なくカスタムの/errors/404.jspにリダイレクトされます。

ただし、http://localhost:8080/jookyにアクセスすると、別のエラーがスローされます。

INFO: 14:07:41,790 INFO [PortalImpl:4873] 現在の URL /jooky が例外を生成します: null

次のようなポータル内のページにリダイレクトされます。

Liferay デフォルト 404

これらの非ファイル タイプの URL を 404 ページにリダイレクトするのを手伝ってくれる人はいますか?

ありがとう。

4

1 に答える 1

5

Liferay Developer's Guide のOverriding a JSP 」に関するセクションを読むまで、これを行う方法を理解するのにまだ苦労していました。それは私が知る必要があることを正確に教えてくれました。404.jsp ファイルをフックに保存する場所、liferay インストールに .portal.jsp ファイルが表示された理由など。言及されていないもう 1 つの重要なことは、portal-ext.properties ファイルへの追加が必要なことです。 . 以下を追加する必要がありました。

# 404 page
layout.show.http.status=true
layout.friendly.url.page.not.found=/errors/404.jsp

サーバーの再起動後、すべての不正なページに対して 404 ページが表示されるようになりました。

于 2012-03-30T15:21:00.460 に答える