ApsaraVideo VODを使用すると、back-to-originリクエストのURLを書き換えることができます。 URL書き換え機能は、Alibaba Cloud CDNの内部サービスやキャッシュキーに影響を与えることなく、CDNポイントオブプレゼンス (POP) で機能します。 このトピックでは、オリジンURLの書き換えを設定する方法について説明します。
制御ポリシー機能の動作
POPは、URL書き換えルールに基づいて、オリジンサーバー上のリクエストされたリソースのURLに対してオリジンURLを照合します。 次に、特定のパラメーターを持つリクエストがオリジンサーバーにリダイレクトされます。
書き換えルールでは、FlagパラメーターをNoneまたはBreakに設定すると、URL内のリソースパスのみが書き換えられます。
Flagパラメーターを強化するように設定すると、リソースパスとクエリ文字列が書き換えられます。
使用状況ノート
ドメイン名ごとに最大50個のback-to-origin URL の書き換えルールを設定できます。
システムは、[オリジンURLの書き換え] タブにリストされている書き換えルールを上から下に順番に実行します。 この順序への変更は、異なる書き換え結果につながる可能性があります。
オリジンURL書き換えルールのフラグを設定してブレークを強化すると、パラメーターの書き換え設定が [パラメーターを無視] 機能の設定と競合する可能性があります。 パラメーターを無視するには、指定したドメイン名の左側のナビゲーションウィンドウで、 を選択します。 これらの機能を同じドメイン名に設定する場合は、機能が互いに競合しないようにしてください。
手順
ApsaraVideo VODコンソールにログインします。
左側のナビゲーションウィンドウで、[設定管理]> [CDN設定]> [ドメイン名] を選択します。
[ドメイン名] ページで、管理するドメイン名を見つけ、[操作] 列の [設定] をクリックします。
指定したドメイン名の左側のナビゲーションウィンドウで、Back-to-Originをクリックします。
[オリジンURLの書き換え] タブをクリックします。
[追加] をクリックします。 表示されるダイアログボックスで、ソースパス、宛先パス、およびフラグを指定します。
重要システムは、[オリジン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パラメーターも書き換えます。
[OK] をクリックします。
新しく設定された書き換えルールが [オリジンURLの書き換え] タブに表示されます。 書き換えルールの [操作] 列の [変更] または [削除] をクリックすると、書き換えルールを変更または削除できます。
設定例
例1: フラグがEmptyに設定されているルールを適用します。
書き直されるパス | ^/hello$ |
ターゲットパス | /index.html |
フラグ | なし |
期待される結果 | 元の要求: 最終リクエスト: システムは、back-to-origin URL の書き換え タブにリストされている他のURL書き換えルールに対してリクエストを照合し続けます。 |
例2: フラグがbreakに設定されているルールを適用します。
書き直されるパス | ^/hello.jpg$ |
ターゲットパス | /image/hello.jpg |
フラグ | break |
期待される結果 | 元の要求: 最終リクエスト: システムは、back-to-origin URL の書き換え タブにリストされている他のURL書き換えルールに対するリクエストの照合を停止します。 |
例3: フラグが拡張ブレークに設定されているルールを適用します。
書き直されるパス | ^/hello.jpg?code=123 $ |
ターゲットパス | /image/hello.jpg?code=321 |
フラグ | ブレークを高める |
期待される結果 | 元の要求: 最終リクエスト: システムは、back-to-origin URL の書き換え タブにリストされている他のURL書き換えルールに対するリクエストの照合を停止します。 |
例4: ファイル名が変数の場合、ルートディレクトリにURLプレフィックスを追加します。
ルートディレクトリ内のすべてのファイルのURLに /imageパスを追加します。 たとえば、URLの /xxxを /image/xxxに書き換えます。 この例では、xxxはhello.jpgやhello.htmlなどのファイル名です。
書き直されるパス | ^(.*)$ 説明
|
ターゲットパス | /image$1 説明
|
フラグ | break |
期待される結果 |
システムは、[オリジンURLの書き換え] タブにリストされている他のURL書き換えルールに対するリクエストの照合を停止します。 |
例5: ファイル名が変数の場合、指定したディレクトリにURLプレフィックスを追加します。
/liveディレクトリ内のすべてのファイルのURLに /imageパスを追加します。 たとえば、URLの /live/xxxを /image/live/xxxに書き換えます。 この例では、xxxはhello.jpgやhello.htmlなどのファイル名です。
書き直されるパス | ^/live/(.*)$ |
ターゲットパス | /画像 /ライブ /$1 |
フラグ | break |
期待される結果 |
システムは、[オリジンURLの書き換え] タブにリストされている他のURL書き換えルールに対するリクエストの照合を停止します。 |
例6: 複数のルールが設定されている場合、フラグがEmptyのルールのみを適用します。
次の図に示すように、2つのURL書き換えルールを作成します。

期待される結果:
元の要求:
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書き換えルールを作成します。

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