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

ApsaraVideo VOD:オリジンリクエストのURL書き換え

最終更新日:Feb 10, 2026

ApsaraVideo VOD を使用すると、バックツーオリジンリクエストのURLを書き換えることができます。この書き換えは、Alibaba Cloud CDN の内部ルーティングやキャッシュキーには影響しません。これは、CDNノードがオリジンサーバーにバックツーオリジンリクエストを送信する場合にのみ適用されます。このトピックでは、オリジンURL書き換えの設定方法について説明します。

仕組み

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

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

  • Flagパラメーターをenhance breakに設定した場合、リソースパスとクエリ文字列が書き換えられます。2

注意事項

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

  • システムは、[オリジンパス書き換え] タブに表示されている書き換えルールを上から順に実行します。この順序を変更すると、書き換え結果に影響を与える可能性があります。

  • URLパラメーターを書き換えるルールを設定した場合、[ドメイン名] > [パフォーマンス最適化] タブのパラメーター無視機能と[オリジンURL書き換え]機能が競合する可能性があります。これらの機能を設定する際は、競合を避けるようにしてください。

操作手順

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

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

  3. 対象のドメイン名の横にある 設定 をクリックします。

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

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

  6. 追加」をクリックします。その後、ソース パス、デスティネーション パス、およびフラグを要件に応じて設定します。

    重要

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

    パラメーター

    説明

    書き換え対象パス

    ^/hello$

    スラッシュ (/) で始まるURLを入力します。http:// やドメイン名を含めないでください。PCRE (Perl 互換正規表現) がサポートされています。

    宛先パス

    /hello/test

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

    実行ルール

    なし

    複数のルールが設定されている場合、システムはそれらを上から順に処理します。一致するすべてのルールがこの順序で実行されます。

    break

    • 複数のURL書き換えルールが設定されており、いずれかのルールが一致した場合、残りのルールはスキップされます。

    • この機能は、URL内のリソースパスのみを書き換えます。URLパラメーターは変更されません。URLパラメーターを書き換えるには、バックツーオリジンパラメーター書き換え機能を使用します。

    enhance break

    • 複数のURL書き換えルールが設定されており、リクエストURLが現在のルールに一致する場合、現在のルールが実行された後、他のルールはスキップされます。

    • `break` と同様に、URLパラメーターを再書き込みする機能を追加します。

  7. 再書き込みルールを有効にするには、OK をクリックします。

    [オリジン URL 書き換え] ページのルールリストで 変更 または 削除 をクリックして、現在設定されているルールを変更または削除できます。

設定例

例1: Emptyフラグの適用

書き換え対象パス

^/hello$

ターゲットパス

/index.html

Flag

なし

期待される結果

元のリクエスト: http://example.com/hello

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

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

例2: breakフラグの適用

書き換え対象パス

^/hello.jpg$

ターゲットパス

/image/hello.jpg

Flag

break

期待される結果

元のリクエスト: http://example.com/hello.jpg

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

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

例3: enhance breakフラグの適用

書き換え対象パス

^/hello.jpg?code=123$

ターゲットパス

/image/hello.jpg?code=321

Flag

enhance break

期待される結果

元のリクエスト: http://example.com/hello.jpg?code=123

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

システムは、back-to-origin Path の書き換え タブにリストされている他の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」を使用します。

Flag

break

期待される結果

  • 元のリクエスト: http://example.com/hello.jpg

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

  • 元のリクエスト: http://example.com/hello.html

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

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

例5: ファイル名が可変の場合に指定されたディレクトリにURLプレフィックスを追加

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

書き換え対象パス

^/live/(.*)$

ターゲットパス

/image/live/$1

Flag

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 再書き込みルールに対するリクエストの照合を停止します。

例6: 複数のルールが一致する場合のEmptyフラグの適用

次の図に示すように、2つのルールを設定します。

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

期待される結果:

  • 元のリクエスト: http://example.com/image_01.png

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

    説明

    リクエストは最初のルールに一致し、オリジンパスは http://example.com/image_02.png に書き換えられます。その後、リクエストは2番目のルールに一致し、オリジンパスは http://example.com/image/image_02.png に書き換えられます。

例7: 複数のルールが一致する場合のbreakフラグの適用

次の図に示すように、2つのルールを設定します。

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

期待される結果:

  • 元のリクエスト: http://example.com/image_01.png

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

    説明

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

参照

ドメイン名の一括設定