問題
- 404 Errorコードを表示するカスタムランディングページをデザインする場合、URL文字列に/image/を含む無効なURLは、
/webapps/ROOT/html/portal
フォルダまたはサイトページのいずれかに置かれたカスタマイズページを表示します。
環境
- Liferay DXP 7.0、7.1
解像度
- これは意図した行動です。
- localhost:8080/web/guest/abcのような存在しないURLにアクセスした場合、ページが見つからないため、カスタム「見つからない」ページを表示します。
- しかし、
/image/
はサーブレットマッピングです(ここで見られるように、 https://github.com/liferay/liferay-portal/blob/7.0.x/portal-web/docroot/WEB-INF/web.xml#L940-L943)。 localhost:8080/image/abcなどのURLを叩くと、WebServerServlet
を起動し、ドキュメントライブラリ内で画像を探そうとします。 - ページ自体は存在する(
WebServerServlet
を含む)が、画像は存在しないので、カスタム404 "not found" ページは表示されず、代わりにLiferay DXP 7.0 の標準 "resource not found" ページが表示されます。