ApsaraVideo VOD を使用すると、バックツーオリジンリクエストのURLを書き換えることができます。この書き換えは、Alibaba Cloud CDN の内部ルーティングやキャッシュキーには影響しません。これは、CDNノードがオリジンサーバーにバックツーオリジンリクエストを送信する場合にのみ適用されます。このトピックでは、オリジンURL書き換えの設定方法について説明します。
仕組み
POPは、URL書き換えルールに基づいて、オリジンサーバー上のリクエストされたリソースのURLとオリジンパスを照合します。その後、特定のパラメーターを持つリクエストはオリジンサーバーにリダイレクトされます。
書き換えルールでFlagパラメーターをNoneまたはBreakに設定した場合、URL内のリソースパスのみが書き換えられます。
Flagパラメーターをenhance breakに設定した場合、リソースパスとクエリ文字列が書き換えられます。
注意事項
各ドメイン名に、最大 50 個のback-to-origin Path の書き換えルールを設定できます。
システムは、[オリジンパス書き換え] タブに表示されている書き換えルールを上から順に実行します。この順序を変更すると、書き換え結果に影響を与える可能性があります。
URLパラメーターを書き換えるルールを設定した場合、[ドメイン名] > [パフォーマンス最適化] タブのパラメーター無視機能と[オリジンURL書き換え]機能が競合する可能性があります。これらの機能を設定する際は、競合を避けるようにしてください。
操作手順
ApsaraVideo VOD コンソールにログインします。ApsaraVideo VOD コンソール。
左側のナビゲーションウィンドウで、[設定管理] > [CDN 設定] > [ドメイン] を選択します。
対象のドメイン名の横にある 設定 をクリックします。
左側のナビゲーションウィンドウで、Back-to-Origin をクリックします。
[オリジンURL書き換え] タブをクリックします。
「追加」をクリックします。その後、ソース パス、デスティネーション パス、およびフラグを要件に応じて設定します。
重要システムは、[オリジンURL書き換え] タブに表示されている書き換えルールを上から順に実行します。ルールの順序を変更すると、書き換え結果に影響を与える可能性があります。
パラメーター
例
説明
書き換え対象パス
^/hello$
スラッシュ (/) で始まるURLを入力します。http:// やドメイン名を含めないでください。PCRE (Perl 互換正規表現) がサポートされています。
宛先パス
/hello/test
スラッシュ (/) で始まるURLを入力します。http:// やドメイン名を含めることはできません。
実行ルール
なし
複数のルールが設定されている場合、システムはそれらを上から順に処理します。一致するすべてのルールがこの順序で実行されます。
break
複数のURL書き換えルールが設定されており、いずれかのルールが一致した場合、残りのルールはスキップされます。
この機能は、URL内のリソースパスのみを書き換えます。URLパラメーターは変更されません。URLパラメーターを書き換えるには、バックツーオリジンパラメーター書き換え機能を使用します。
enhance break
複数のURL書き換えルールが設定されており、リクエストURLが現在のルールに一致する場合、現在のルールが実行された後、他のルールはスキップされます。
`break` と同様に、URLパラメーターを再書き込みする機能を追加します。
再書き込みルールを有効にするには、OK をクリックします。
[オリジン URL 書き換え] ページのルールリストで 変更 または 削除 をクリックして、現在設定されているルールを変更または削除できます。
設定例
例1: Emptyフラグの適用
書き換え対象パス | ^/hello$ |
ターゲットパス | /index.html |
Flag | なし |
期待される結果 | 元のリクエスト: 最終リクエスト: システムはリクエストを、back-to-origin Path の書き換え タブに表示されている他の URL 書き換えルールと照合し続けます。 |
例2: breakフラグの適用
書き換え対象パス | ^/hello.jpg$ |
ターゲットパス | /image/hello.jpg |
Flag | break |
期待される結果 | 元のリクエスト: 最終リクエスト: システムは、back-to-origin Path の書き換え タブに一覧表示されている他の URL 再書き込みルールに対してリクエストの照合を停止します。 |
例3: enhance breakフラグの適用
書き換え対象パス | ^/hello.jpg?code=123$ |
ターゲットパス | /image/hello.jpg?code=321 |
Flag | enhance break |
期待される結果 | 元のリクエスト: 最終リクエスト: システムは、back-to-origin Path の書き換え タブにリストされている他のURL書き換えルールに対してリクエストのマッチングを停止します。 |
例4: ファイル名が可変の場合にルートディレクトリにURLプレフィックスを追加
ルートディレクトリ内のすべてのファイルのURLに /image パスを追加します。例えば、URL内の /xxx を /image/xxx に書き換えます。この例では、xxx は hello.jpg や hello.html などのファイル名です。
書き換え対象パス | ^(.*)$ 説明
|
ターゲットパス | /image$1 説明
|
Flag | break |
期待される結果 |
システムは、[オリジンパスの再書き込み] タブに記載されている他の URL 再書き込みルールに対するリクエストの照合を停止します。 |
例5: ファイル名が可変の場合に指定されたディレクトリにURLプレフィックスを追加
/live ディレクトリ内のすべてのファイルのURLに /image パスを追加します。例えば、URL内の /live/xxx を /image/live/xxx に書き換えます。この例では、xxx は hello.jpg や hello.html などのファイル名です。
書き換え対象パス | ^/live/(.*)$ |
ターゲットパス | /image/live/$1 |
Flag | break |
期待される結果 |
システムは、[オリジンパス再書き込み] タブに記載されている他の URL 再書き込みルールに対するリクエストの照合を停止します。 |
例6: 複数のルールが一致する場合のEmptyフラグの適用
次の図に示すように、2つのルールを設定します。

期待される結果:
元のリクエスト:
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つのルールを設定します。

期待される結果:
元のリクエスト:
http://example.com/image_01.png最終リクエスト:
http://example.com/image_02.png説明リクエストは最初のルールに一致し、リクエストURLは
http://example.com/image_02.pngに書き換えられます。他のルールはスキップされます。