問題
-
フレンドリ URL 用のサーブレット フィルタの実装が問題を引き起こしています。 仮想ホストを構成しなくても期待どおりに機能しますが、仮想ホストが構成されている場合、フィルターは呼び出されません。
Environment
- Liferay DXP 7.4 アップデート 23
解決策
-
根本的な原因は VirtualHostFilter URI を '/' から '/web/guest' に変更したため、フィルターの URL パターンが一致しなくなりました。 結果として、以下をそれぞれのコードに追加する必要があるようです:
"url-pattern=/web/guest/*", "url-pattern=/"
"before- filter=Virtual Host Filter"
例:
@Component(
immediate = true,
property = {
"before-filter=Virtual Host Filter", "servlet-context-name=",
"servlet-filter-name=redirectLoggedUsersFilter",
"url-pattern=/web/guest/*", "url-pattern=/"
},
service = Filter.class
)
追加情報
- 「Global Service Team」と呼ばれる別のチャネルがあり、コード レベルまたは任意の開発領域で追加の支援を提供できます。