すべてのプロダクト
Search
ドキュメントセンター

ApsaraVideo VOD:back-to-originリクエストのURLの書き換え

最終更新日:Oct 23, 2024

ApsaraVideo VODを使用すると、back-to-originリクエストのURLを書き換えることができます。 URL書き換え機能は、Alibaba Cloud CDNの内部サービスやキャッシュキーに影響を与えることなく、CDNポイントオブプレゼンス (POP) で機能します。 このトピックでは、オリジンURLの書き換えを設定する方法について説明します。

制御ポリシー機能の動作

POPは、URL書き換えルールに基づいて、オリジンサーバー上のリクエストされたリソースのURLに対してオリジンURLを照合します。 次に、特定のパラメーターを持つリクエストがオリジンサーバーにリダイレクトされます。

  • 書き換えルールでは、FlagパラメーターをNoneまたはBreakに設定すると、URL内のリソースパスのみが書き換えられます。1

  • Flagパラメーターを強化するように設定すると、リソースパスとクエリ文字列が書き換えられます。2

使用状況ノート

  • ドメイン名ごとに最大50個のback-to-origin URL の書き換えルールを設定できます。

  • システムは、[オリジンURLの書き換え] タブにリストされている書き換えルールを上から下に順番に実行します。 この順序への変更は、異なる書き換え結果につながる可能性があります。

  • オリジンURL書き換えルールのフラグを設定してブレークを強化すると、パラメーターの書き換え設定が [パラメーターを無視] 機能の設定と競合する可能性があります。 パラメーターを無視するには、指定したドメイン名の左側のナビゲーションウィンドウで、[ドメイン名] > [性能最適化] を選択します。 これらの機能を同じドメイン名に設定する場合は、機能が互いに競合しないようにしてください。

手順

  1. ApsaraVideo VODコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[設定管理]> [CDN設定]> [ドメイン名] を選択します。

  3. [ドメイン名] ページで、管理するドメイン名を見つけ、[操作] 列の [設定] をクリックします。

  4. 指定したドメイン名の左側のナビゲーションウィンドウで、Back-to-Originをクリックします。

  5. [オリジンURLの書き換え] タブをクリックします。

  6. [追加] をクリックします。 表示されるダイアログボックスで、ソースパス、宛先パス、およびフラグを指定します。

    重要

    システムは、[オリジンURLの書き換え] タブにリストされている書き換えルールを上から順に実行します。 ルールの順序を変更すると、書き換えの結果が変わる場合があります。

    パラメーター

    説明

    Source Path

    ^/hello$

    スラッシュ (/) で始まるURLを入力します。 URLにhttp:// またはドメイン名を含めることはできません。 Perl互換正規表現 (PCRE) は、ソースURLでサポートされています。

    宛先パス

    /hello/test

    スラッシュ (/) で始まるURLを入力します。 URLにhttp:// またはドメイン名を含めることはできません。

    フラグ

    複数のURI書き換えルールが設定されている場合、ApsaraVideo VODはリクエストを上から下の順にルールと照合します。

    休憩

    • 複数のURL書き換えルールが設定され、現在のルールが一致する場合、他のルールはスキップされます。

    • この設定では、URLのリソースパスのみを書き換えます。 URLパラメーターは変更されません。 パラメーター書き換え機能を使用して、URLパラメーターを書き換えることができます。

    ブレークを高める

    • 複数のURL書き換えルールが設定され、現在のルールが一致する場合、他のルールはスキップされます。

    • breakと比較して、enhance breakはURLパラメーターも書き換えます。

  7. [OK] をクリックします。

    新しく設定された書き換えルールが [オリジンURLの書き換え] タブに表示されます。 書き換えルールの [操作] 列の [変更] または [削除] をクリックすると、書き換えルールを変更または削除できます。

設定例

例1: フラグがEmptyに設定されているルールを適用します。

書き直されるパス

^/hello$

ターゲットパス

/index.html

フラグ

なし

期待される結果

元の要求: http://example.com/hello

最終リクエスト: http://example.com/index.html

システムは、back-to-origin URL の書き換え タブにリストされている他のURL書き換えルールに対してリクエストを照合し続けます。

例2: フラグがbreakに設定されているルールを適用します。

書き直されるパス

^/hello.jpg$

ターゲットパス

/image/hello.jpg

フラグ

break

期待される結果

元の要求: http://example.com/hello.jpg

最終リクエスト: http://example.com/image/hello.jpg

システムは、back-to-origin URL の書き換え タブにリストされている他のURL書き換えルールに対するリクエストの照合を停止します。

例3: フラグが拡張ブレークに設定されているルールを適用します。

書き直されるパス

^/hello.jpg?code=123 $

ターゲットパス

/image/hello.jpg?code=321

フラグ

ブレークを高める

期待される結果

元の要求: http://example.com/hello.jpg?code=123

最終リクエスト: http://example.com/image/hello.jpg?code=321

システムは、back-to-origin URL の書き換え タブにリストされている他のURL書き換えルールに対するリクエストの照合を停止します。

例4: ファイル名が変数の場合、ルートディレクトリにURLプレフィックスを追加します。

ルートディレクトリ内のすべてのファイルのURLに /imageパスを追加します。 たとえば、URLの /xxxを /image/xxxに書き換えます。 この例では、xxxはhello.jpgやhello.htmlなどのファイル名です。

書き直されるパス

^(.*)$

説明

^ は、文字列の先頭からの文字列と一致します。 (.*) はグループで、 改行以外の文字に一致します。 * は、前の文字またはグループに0回以上一致します。 ターゲットパスで $1を使用して、グループの変数コンテンツを参照できます。 $は、文字列の末尾に文字列を一致させます。 ^(.*)$ は、文字列の最初から最後までの文字列と一致します。この文字列には、改行以外の文字を含めることができ、一致したコンテンツをグループにキャプチャします。 たとえば、文字列 "hello world" の場合、^(.*)$ は文字列全体と一致し、"hello world" を最初のグループにキャプチャします。

ターゲットパス

/image$1

説明

/imageは文字列 "/image" と一致します。 $1は最初のグループのコンテンツを参照し、$2は2番目のグループのコンテンツを参照します。 /image$1は、最初のグループのコンテンツが続く文字列 "/image" と一致します。 たとえば、最初のグループのコンテンツが "abc" の場合、/image$1は文字列 "/imageabc" と一致します。 $1は、リテラルの "$1" ではなく、グループのコンテンツを参照することに注意してください。 リテラル "$1" と一致させたい場合は、エスケープ文字列 "\$1" を使用します。

フラグ

break

期待される結果

  • 元の要求: http://example.com/hello.jpg

    最終リクエスト: http://example.com/image/hello.jpg

  • 元の要求: http://example.com/hello.html

    最終リクエスト: http://example.com/image/hello.html

システムは、[オリジンURLの書き換え] タブにリストされている他のURL書き換えルールに対するリクエストの照合を停止します。

例5: ファイル名が変数の場合、指定したディレクトリにURLプレフィックスを追加します。

/liveディレクトリ内のすべてのファイルのURLに /imageパスを追加します。 たとえば、URLの /live/xxxを /image/live/xxxに書き換えます。 この例では、xxxはhello.jpgやhello.htmlなどのファイル名です。

書き直されるパス

^/live/(.*)$

ターゲットパス

/画像 /ライブ /$1

フラグ

break

期待される結果

  • 元の要求: http://example.com/live/hello.jpg

    最終リクエスト: http://example.com/image/live/hello.jpg

  • 元の要求: http://example.com/live/hello.html

    最終リクエスト: http://example.com/image/live/hello.html

システムは、[オリジンURLの書き換え] タブにリストされている他のURL書き換えルールに対するリクエストの照合を停止します。

例6: 複数のルールが設定されている場合、フラグがEmptyのルールのみを適用します。

次の図に示すように、2つのURL書き換えルールを作成します。

域名管理-改写回源URL1.png

期待される結果:

  • 元の要求: http://example.com/image_01.png

  • 最終リクエスト: http://example.com/image/image_02.png

    説明

    リクエストは最初のルールと一致し、オリジンURLは http://example.com/image_02.png に書き換えられます。 次に、要求は第2のルールと一致し、オリジンURLは http://example.com/image/image_02.png に書き換えられる。

例7: 複数のルールが設定されている場合、フラグがbreakのルールを適用します。

次の図に示すように、2つのURL書き換えルールを作成します。

域名管理-改写回源URL2.png

期待される結果:

  • 元の要求: http://example.com/image_01.png

  • 最終リクエスト: http://example.com/image_02.png

    説明

    リクエストは最初のルールと一致し、リクエストURLは http://example.com/image_02.png に書き換えられます。 他のルールはスキップされます。

関連ドキュメント

BatchSetVodDomainConfigs