Alibaba Cloud CDNでは、リクエストがオリジンサーバーにリダイレクトされる前に、リクエストのURLパラメーターを書き換えることができます。 パラメーターは無視、追加、削除、保持、および変更できます。
背景情報
URLパラメーターは、URLの疑問符 (
?
) に続く名前と値
のペアです。 URLに複数のパラメーターが含まれている場合、パラメーターはアンパサンド (&
) で区切られます。場合によっては、URLに数字記号 (
#
) と数字記号 (#
) に続く文字も含まれます。 数字記号 (#
) は、ウェブページ上の位置を表し、右側の文字は、位置の識別子である。 番号記号 (#
) は、ブラウザをwebページ上の特定の場所に導き、サーバーには影響しません。 したがって、番号記号はback-to-originリクエストでは無視できます。 ブラウザが数字記号#
の後ろの文字を読み取った後、ブラウザは特定の場所を指します。 たとえば、http://www.example.com/index.html#segment
では、#segment
はindex.html
ページのセグメント
スポットを表します。 URLがブラウザで開かれた後、ブラウザはスポットを指します。
パラメータ優先度
パラメーターの書き換えを有効にすると、元のURLのクエリ文字列が書き換えられます。 1つ以上の書き換えルールを設定できます。 書き換えルールは、追加 > 削除 > 保持のみ > 変更の順序で有効になります。 同じパラメーターに対して複数の書き換えルールを設定した場合、優先度が最も高い書き換えルールのみが有効になります。
[パラメーターを無視] をオンにすると、[追加] 書き換えルールのみが有効になります。
使用上の注意
パラメーターの書き換えルールは、Back-to-origin URL rewriteのenhance break
ルールおよび [パラメーターを無視] 機能と競合する場合があります。 ルールが互いに競合しないようにしてください。 最新の設定が有効になります。
キャッシュキーへの影響
パラメーターの書き換えは、オリジンフェッチのためにAlibaba Cloud CDNポイントオブプレゼンス (POP) で実行されます。 内部Alibaba Cloud CDNリンクは影響を受けません。 キャッシュキーは変更されません。
パラメーターを無視機能は、エッジ処理のためにAlibaba Cloud CDN POPで実行されます。 内部Alibaba Cloud CDNリンクが影響を受けます。 キャッシュキーが変更されます。
手順
Alibaba Cloud CDNコンソール にログインします。
左側のナビゲーションウィンドウで、ドメイン名.
[ドメイン名] ページで、管理するドメイン名を見つけて、アクション 列の 管理 をクリックします。
ドメイン名の左側のナビゲーションウィンドウで、Back-to-Origin 設定.
back-to-origin パラメーターの書き換えタブをクリックします。
機能スイッチをオンにします。
[パラメーターの書き換え] ダイアログボックスで、必要なパラメーターを設定します。
ビジネス要件に基づいて、さまざまな種類の書き換えルールを設定したり、書き換えルールに複数のパラメーターを指定したりできます。 詳細については「設定例」をご参照ください。
OK書き換えルールを適用します。
書き換えルールを変更するには、back-to-origin パラメーターの書き換え タブでルールを見つけ、[操作] 列の 変更 をクリックします。
設定例
例1: すべてのURLパラメーターを無視する
パラメーター
例
パラメーターを無視
オン
追加
なし
削除
なし
保持のみ
なし
変更
なし
期待される結果
元の要求:
http://example.com/index.html?code1=1&code2=2&code3=3
最終リクエスト:
http://example.com/index.html
例2: 指定したパラメーターを保持する
パラメーター
例
パラメーターを無視
オン
追加
なし
削除
なし
保持のみ
code2
変更
なし
ルール条件
条件を使用しない
期待される結果
元の要求:
http://example.com/index.html?code1=1&code2=2&code3=3
最終リクエスト:
http://example.com/index.html?code2=2
例3: 特定のパラメーターの追加、削除、および変更
パラメーター
例
Ignore Parameters
On
Add
code4=4
Delete
code2
Reserve Only
None
Modify
code3=0
Rule Condition
Do not use conditions
Expected result
Original request:
http://example.com/index.html?code1=1&code2=2&code3=3
Final request:
http://example.com/index.html?code4=4