ユーザーのリクエストにおける URL パラメーターがオリジンサーバーの期待するものと異なる場合、パラメーター書き換えを使用して、CDN が転送するパラメーターを制御できます。CDN キャッシュキーに影響を与えることなく、オリジンフェッチリクエスト URL のパラメーターを追加、削除、保持、または変更できます。
ユースケース
トラッキングパラメーターの削除: オリジンフェッチリクエストから分析パラメーター (
utm_sourceやfbclidなど) を削除し、オリジンサーバーへの不要な負荷を軽減します。バージョン識別子の挿入: すべてのオリジンフェッチリクエストに固定パラメーター (
version=2など) を追加し、オリジンが正しいコンテンツバリアントを提供できるようにします。パラメーターの正規化: オリジンが必要とするパラメーターのみを保持し、残りを破棄することで、オリジン側のリクエスト処理を簡素化します。
仕組み
パラメーター書き換えは、CDN のオリジンフェッチ Points of Presence (POP) で実行され、オリジンフェッチリクエスト URL のクエリパラメーターのみを書き換えます。CDN の内部ルーティングに影響を与えたり、キャッシュキーを変更したりすることはありません。そのため、オリジンに到達するパラメーターを変更しても、CDN のキャッシュヒット率には影響しません。
この動作は、同じく CDN POP で実行されますが、内部ルーティングに影響を与え、キャッシュキーを書き換える パラメーターを無視 とは異なります。
URL パラメーター形式
URL パラメーターは、? 文字の後に URL に追加される 1 つ以上の name/value ペアで、name=value の形式です。複数のパラメーターは & で区切られます。
URL には、# 文字とその後に続くフラグメント識別子を含めることもできます。これは、ブラウザをページ上の特定の場所に誘導します。たとえば、http://www.example.com/index.html#segment では、#segment は index.html 上の segment の場所を指します。

操作タイプ
パラメーター書き換えは、次の 5 つの操作をサポートしています。
| 操作 | 機能の説明 | 例(入力 → 出力) |
|---|---|---|
| パラメーターを無視 | オリジンフェッチ URL からすべてのパラメーターを削除します | ?code1=1&code2=2 → (パラメーターなし) |
| 追加 | オリジンフェッチ URL に新しいパラメーターを追加します | (code4 なし) → ?code4=4 |
| 削除 | オリジンフェッチ URL から特定のパラメーターを削除します | ?code1=1&code2=2 → ?code1=1 |
| 指定したパラメーターのみ保持 | 指定されたパラメーターのみを残し、それ以外のすべてのパラメーターを削除します | ?code1=1&code2=2&code3=3 → ?code2=2 |
| 変更 | 既存のパラメーターの値を変更します | ?code3=3 → ?code3=0 |
操作の優先度
複数の操作が同じパラメーターに適用される場合、最も優先度の高い操作のみが有効になります。優先順位は、高いものから低いものへ次のとおりです。
追加 > 削除 > 予約のみ > 変更
[パラメーターを無視] が有効になっている場合、[追加] のみが有効な操作として残ります。
他の機能との競合
パラメーター書き換え、オリジンフェッチ URL の書き換え の enhance break ルール、および パラメーターを無視 は競合する可能性があります。競合が発生した場合、最後に設定された機能が優先されます。
オリジンパラメーターの書き換えに加えてキャッシュキーを変更する必要がある場合は、代わりに パラメーターを無視 を使用してください。
パラメーター書き換えルールの設定
前提条件
開始する前に、次のものがあることを確認してください。
Alibaba Cloud CDN 高速化ドメイン名
CDN コンソール へのアクセス権
操作手順
CDN コンソール にログインします。
ナビゲーションウィンドウで、[ドメイン] をクリックします。
「ドメイン」ページで、対象のドメイン名を見つけ、「操作」列の「管理」をクリックします。
ドメイン名のナビゲーションウィンドウで、[Origin Fetch] をクリックします。
[パラメーターの書き換え] タブをクリックします。
[機能スイッチ] をオンにします。
書き換え操作を設定します。各操作タイプ ([追加]、[削除]、[予約のみ]、[変更]) ごとに、適用するパラメーターを入力します。操作タイプごとに複数のパラメーターを追加できます。設定例をご参照ください。
[OK] をクリックします。書き換え操作は直ちに適用されます。
既存のルールを更新するには、[変更] を [パラメーターの書き換え] ページでクリックします。

構成例
例 1: すべてのパラメーターを無視
この構成は、オリジンフェッチ URL からすべてのパラメーターを削除します。

| 構成項目 | 値 |
|---|---|
| [パラメーターを無視] | 有効 |
| [追加] | なし |
| [削除] | なし |
| 予約のみ | なし |
| [変更] | なし |
| [ルール条件] | 使用されていません |
| 結果 | オリジナル: http://example.com/index.html?code1=1&code2=2&code3=3 → 書き換え後: http://example.com/index.html |
例 2: 特定のパラメーターを保持
この構成は、code2 のみを保持し、他のすべてのパラメーターを削除します。

| 設定項目 | 値 |
|---|---|
| パラメーターを無視 | 無効 |
| 追加 | なし |
| 削除 | なし |
| 予約のみ | code2 |
| 変更 | なし |
| ルール条件 | 未使用 |
| 結果 | 元の URL:http://example.com/index.html?code1=1&code2=2&code3=3 → 変換後:http://example.com/index.html?code2=2 |
例 3: パラメーターの追加、削除、変更
この構成は、code4=4 の追加、code2 の削除、code3 を 0 に変更する 3 つの操作を組み合わせたものです。

| 構成項目 | 値 |
|---|---|
| [パラメーターを無視] | shutdown |
| [追加] | code4=4 |
| [削除] | code2 |
| 予約のみ | なし |
| [変更] | code3=0 |
| [ルール条件] | 使用されていません |
| 結果 | オリジナル: http://example.com/index.html?code1=1&code2=2&code3=3 → 書き換え後: http://example.com/index.html?code1=1&code3=0&code4=4 |