問題
これまでのところ、インスタンス、ポートレット 、または個々の要素の で SPA を無効にすることが可能でした。 ただし、SPA をより柔軟に無効にすることが何度も要求されています。 1 つのサイトで SPA を無効にしたい場合はどうすればよいですか? それとも 1 つの URL だけですか?
環境
- Liferay DXP 7.3
解決策
さまざまなシナリオで SPA を無効にするのに役立つ新しい設定が SPA 構成に追加されました。 システム設定 > インフラストラクチャ > フロントエンド SPA インフラストラクチャ > カスタム除外パス にアクセスすると、SPA を無効にするすべての URL に新しい入力フィールドを追加できます。
この機能を適切に使用するには、次の点に注意してください。
- すべての入力フィールドで、パスを 1 つだけ追加する必要があります。
- 1 つの入力フィールドに複数のパスを追加しても、それらのパスは除外されません。
- 入力フィールドの 1 つを空のままにすると、ルート パスとして一致し、SPA は完全に無効になります。
- そのパスは、ホスト名を除いた単なるパス名でなければなりません。
- 例: URL http://healthyfood:8080/web/food/vegetablesを除外する場合は、パス /web/food/vegetablesを追加するだけです。
- 追加したパスの下にあるものはすべて除外されます。
- 例: URL が http//healthyfood:8080/web/foodであるサイト全体を除外する場合は、パス /web/food を追加するだけで、そのサイトのすべてのページが SPA なしで機能します。 .
- ホスト名とは関係なく、すべてのパスが SPA ナビゲーションから除外されます。
- : 次 URL があります。. 両方のホスト名でページが SPA ナビゲーションから除外されていることがわかります。
最後に、他のシステム設定と同様に、OSGi 構成ファイルを使用して構成できます。 この場合、ファイル com.liferay.frontend.js.spa.web.configuration.SPAConfiguration.config を osgi/conf フォルダーに追加する必要があるだけです:
configuration:customExcludedPaths=[ \
"/web/food/vegetables", \
"/web/food/fruit", \
]
追加情報
- この機能は、 LPS-128101の一部として追加されました。
- fixpack-dxp-2-7310 以降、Liferay DXP 7.3 に含まれています。