URLの書き換えを構成する
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
レンダリング ホストを高度なSitecoreエディターと統合する際にHTMLの相対リンクが適切にレンダリングされるように、Headless Servicesは返されたマークアップの相対URLを絶対値に書き換えます。この処理に含まれるデフォルトのタグと属性は次のとおりです。
タグ名 |
属性名 |
---|---|
audio |
src |
img |
src, srcset |
link |
href |
script |
src |
source |
src, srcset |
track |
src |
video |
poster, src |
URL書き換えの無効化
ヘッドレスサービスで返されたマークアップ内の相対URLを絶対URLに書き換えたくない場合は、URLの書き換えを無効にすることができます。
URLの書き換えを無効にするには:
-
アプリの設定で、設定済みのhttpレンダリングエンジンインスタンスで、オプションEnableRelativeLinkProcessingの値をfalseに変更します。
RequestResponse<javaScriptServices> <renderEngines> <renderEngine name="http"> <instance id="RenderEngineInstance" inherits="defaults"> <EnableRelativeLinkProcessing>false</EnableRelativeLinkProcessing> </instance> </renderEngine> </renderEngines> </javaScriptServices>
書き換えられたHTML属性を構成する
URLの書き換えをカスタマイズするには、レンダリング エンジン インスタンスのコンフィギュレーションを変更します。
書き換えられたHTML属性を設定するには:
-
アプリ設定で、設定済みのhttpレンダリングエンジンインスタンスのLinkReplacement要素で、LinkMap要素を使用してリンクの置換に使用する属性を指定します。例えば:
RequestResponse<javaScriptServices> <renderEngines> <renderEngine name="http"> <instance id="RenderEngineInstance" inherits="defaults"> <LinkReplacement> <LinkMap tag="audio" attributes="src" /> <LinkMap tag="img" attributes="src, srcset" /> <LinkMap tag="link" attributes="href" /> <LinkMap tag="script" attributes="src" /> <LinkMap tag="source" attributes="src, srcset" /> <LinkMap tag="track" attributes="src" /> <LinkMap tag="video" attributes="src, poster" /> </LinkReplacement> </instance> </renderEngine> </renderEngines> </javaScriptServices>
無視されたパスにパスを追加する
一部の相対URLパスは、ヘッドレスサービスで書き換えることはできません。デフォルトでは、次のようになります。
-
-/media/
-
~/media/
-
-/jssmedia/
-
~/jssmedia/
無視されたパスにURLパスを追加するには:
-
アプリの設定で、設定済みのhttpレンダリングエンジンインスタンスに対して、Path要素を使用してIgnoredPaths要素で無視するパスを指定します。例えば:
RequestResponse<javaScriptServices> <renderEngines> <renderEngine name="http"> <instance id="RenderEngineInstance" inherits="defaults"> <IgnoredPaths> <Path>-/media/</Path> <Path>~/media/</Path> <Path>-/jssmedia/</Path> <Path>~/jssmedia/</Path> <Path>sitecore/shell/</Path> </IgnoredPaths> </instance> </renderEngine> </renderEngines> </javaScriptServices>