Tous les produits
Search
Centre de documentation

Edge Security Acceleration:Redirections de requêtes

Dernière mise à jour :Sep 14, 2026

Si les chemins d'accès aux ressources d'origine changent alors que les URL de requête restent identiques, configurez des règles de redirection sur les points de présence (POP) d'Edge Security Acceleration (ESA) pour rediriger les clients vers la destination correcte. Cela réduit les requêtes vers l'origine et améliore les performances d'accès.

Fonctionnement

image

Le processus de redirection :

  1. Un client demande une ressource.

  2. Le POP ESA compare la requête aux règles de redirection. En cas de correspondance, il renvoie un code d'état de redirection (par exemple 301 ou 302) avec l'URL de destination dans l'en-tête de réponse Location.

  3. Le client suit l'en-tête Location et demande la ressource à partir de la nouvelle URL.

Codes d'état et scénarios

Code d'état

Signification

Gestion de la méthode

Scénarios courants

301

Moved Permanently

Les requêtes GET restent inchangées. Les autres méthodes peuvent être converties en GET.

La ressource a été déplacée de façon permanente vers une nouvelle URL. Les moteurs de recherche mettent à jour leurs index.

302

Found

Les requêtes GET restent inchangées. Les autres méthodes peuvent être converties en GET.

La ressource se trouve temporairement à une autre URL. Les moteurs de recherche conservent le lien d'origine.

303

See Other

Les requêtes GET restent inchangées. Les autres méthodes sont forcées en GET et le corps de la requête est ignoré.

Redirection après une opération PUT ou POST pour éviter les soumissions en double lors de l'actualisation.

307

Temporary Redirect

La méthode et le corps de la requête restent inchangés.

Redirection temporaire. Privilégiez ce code plutôt que le 302 lorsque votre site utilise des méthodes autres que GET.

308

Permanent Redirect

La méthode et le corps de la requête restent inchangés.

Redirection permanente qui conserve la méthode HTTP et le corps de la requête. Utilisez-la pour les migrations d'API ou les refontes de site nécessitant une cohérence des méthodes.

Important

Pour rediriger des appels d'API ou des requêtes autres que GET (telles que POST ou PUT) tout en conservant la méthode et le corps de la requête, utilisez le code d'état 307 (temporaire) ou 308 (permanent). Les codes d'état 301 et 302 peuvent convertir les requêtes autres que GET en requêtes GET, ce qui entraîne une perte de données.

Évitez de configurer des redirections sur les chemins de téléchargement à fort trafic (tels que /api/upload). Pour ces chemins, envisagez de les isoler sur un domaine dédié ou d'intercepter les requêtes via WAF afin d'éviter un trafic anormal vers l'origine causé par les redirections.

Créer une règle de redirection

ESA évalue les règles selon l'ordre de priorité et applique la première correspondance.

  1. Dans la console ESA, choisissez Site Management. Dans la colonne Website, cliquez sur le site cible.

  2. Dans le volet de navigation de gauche, choisissez Rules > Redirect Rules. Cliquez sur Create Rule.

  3. Sur la page Add Redirect Rule, configurez les paramètres suivants et cliquez sur OK :

    • Saisissez un Rule Name.

    • Dans la section If requests match..., définissez les conditions de requête à faire correspondre. Pour plus d'informations, consultez la rubrique Components of a rule expression.

    • URL Redirect :

      Single Redirect configuration

      Paramètre

      Type

      Description

      Redirect Type

      Static

      Redirige vers une URL fixe. Par exemple, définissez URL sur https://test.example.com/image/1.jpg?test=123.

      Dynamic

      Construit dynamiquement l'URL de destination à l'aide d'une expression. Par exemple, pour remplacer le nom d'hôte dans l'URL de requête tout en conservant le chemin d'origine, définissez Expression sur concat("https://www.example.com", http.request.uri.path). Utilisez une expression valide construite avec les fonctions prises en charge. La saisie directe d'une chaîne brute contenant des variables entraînera un échec de l'enregistrement.

      Modèles d'expressions dynamiques courants :

      • Conserver le chemin d'origine (non-www vers www, HTTP vers HTTPS) — Utilisez concat("https://target-domain.com", http.request.uri.path) pour concaténer le domaine cible avec le chemin de requête d'origine. Utilisez ce modèle lorsque vous devez conserver le chemin lors de la redirection.

      • Supprimer ou remplacer un préfixe de chemin — Utilisez concat("https://img.example.com", regex_replace(http.request.uri.path, "^/data", "")) pour supprimer le préfixe /data du chemin d'origine et rediriger vers le nouveau domaine. Combinez regex_replace avec concat pour transformer le chemin.

      Status Code

      Code d'état HTTP renvoyé pour la redirection. Valeurs valides : 301 (par défaut), 302, 303, 307 et 308. Pour plus de détails, consultez la section Codes d'état et scénarios.

      Retain Query String

      Indique si la chaîne de requête de la requête d'origine est transmise à l'URL de destination. Désactivé par défaut (la chaîne de requête d'origine est supprimée).

      Lorsque l'option Retain Query String est activée :

      • Si la requête d'origine contient une chaîne de requête, celle-ci remplace la chaîne de requête de l'URL de redirection.

      • Si la requête d'origine ne contient pas de chaîne de requête, la chaîne de requête de l'URL de redirection est conservée.

      Pour des exemples de configuration, consultez la section Exemples de configuration.

Exemples de configuration

Exemples de redirection statique

Scénario 1 : La requête ne contient pas de chaîne de requête, l'URL de redirection en contient une

  • La requête contient une chaîne de requête : Non

  • L'URL de redirection configurée contient une chaîne de requête : Oui

  • Conserver la chaîne de requête : Activé ou désactivé

  • URL de requête d'exemple : http://test.example.com/1.jpg

  • URL de redirection configurée : http://test.example.com/image/1.jpg?test=123

  • Emplacement de redirection réel : http://test.example.com/image/1.jpg?test=123

  • Remarques : Aucune chaîne de requête dans la requête d'origine, donc la chaîne de requête de l'URL configurée est utilisée, quel que soit le paramètre Conserver la chaîne de requête.

Scénario 2 : Les deux URL contiennent des chaînes de requête, Conserver la chaîne de requête est activé

  • La requête contient une chaîne de requête : Oui

  • L'URL de redirection configurée contient une chaîne de requête : Oui

  • Conserver la chaîne de requête : Activé

  • URL de requête d'exemple : http://test.example.com/1.jpg?test=321

  • URL de redirection configurée : http://test.example.com/image/1.jpg?test=123

  • Emplacement de redirection réel : http://test.example.com/image/1.jpg?test=321

  • Remarques : Lorsque l'option Conserver la chaîne de requête est activée, seule la chaîne de requête de la requête d'origine est conservée ; les paramètres de requête de l'URL configurée sont ignorés.

Scénario 3 : Les deux URL contiennent des chaînes de requête, Conserver la chaîne de requête est désactivé

  • La requête contient une chaîne de requête : Oui

  • L'URL de redirection configurée contient une chaîne de requête : Oui

  • Conserver la chaîne de requête : Désactivé

  • URL de requête d'exemple : http://test.example.com/1.jpg?test=321

  • URL de redirection configurée : http://test.example.com/image/1.jpg?test=123

  • Emplacement de redirection réel : http://test.example.com/image/1.jpg?test=123

  • Remarques : Lorsque l'option Conserver la chaîne de requête est désactivée, seule la chaîne de requête de l'URL configurée est conservée ; les paramètres de requête de la requête d'origine sont ignorés.

Scénario 4 : La requête contient une chaîne de requête, l'URL de redirection n'en contient pas, Conserver la chaîne de requête est activé

  • La requête contient une chaîne de requête : Oui

  • L'URL de redirection configurée contient une chaîne de requête : Non

  • Conserver la chaîne de requête : Activé

  • URL de requête d'exemple : http://test.example.com/1.jpg?test=321

  • URL de redirection configurée : http://test.example.com/image/1.jpg

  • Emplacement de redirection réel : http://test.example.com/image/1.jpg?test=321

  • Remarques : Lorsque l'option Conserver la chaîne de requête est activée, la chaîne de requête d'origine est ajoutée à l'URL configurée, même si celle-ci ne contient aucun paramètre de requête.

Scénario 5 : La requête contient une chaîne de requête, l'URL de redirection n'en contient pas, Conserver la chaîne de requête est désactivé

  • La requête contient une chaîne de requête : Oui

  • L'URL de redirection configurée contient une chaîne de requête : Non

  • Conserver la chaîne de requête : Désactivé

  • URL de requête d'exemple : http://test.example.com/1.jpg?test=321

  • URL de redirection configurée : http://test.example.com/image/1.jpg

  • Emplacement de redirection réel : http://test.example.com/image/1.jpg

  • Remarques : Lorsque l'option Conserver la chaîne de requête est désactivée, la chaîne de requête d'origine est ignorée et seule l'URL configurée est renvoyée.

Exemples de redirection dynamique

Scénario 1 : Conserver la chaîne de requête est désactivé

  • Conserver la chaîne de requête : Désactivé

  • URL de requête d'exemple : https://test.example.com/image/1.jpg?test=123

  • Expression : concat("https://www.example.com", http.request.uri.path)

  • Emplacement de redirection réel : https://www.example.com/image/1.jpg

  • Remarques :

    • Lorsque l'option Conserver la chaîne de requête est désactivée, le chemin (/image/1.jpg) est conservé et la chaîne de requête (?test=123) est supprimée.

    • L'expression concatène uniquement le nom d'hôte et le chemin ; les paramètres de requête ne sont pas gérés.

Scénario 2 : Conserver la chaîne de requête est activé

  • Conserver la chaîne de requête : Activé

  • URL de requête d'exemple : https://test.example.com/image/1.jpg?test=123

  • Expression : concat("https://www.example.com", http.request.uri.path)

  • Emplacement de redirection réel : https://www.example.com/image/1.jpg?test=123

  • Remarques :

    • Lorsque l'option Conserver la chaîne de requête est activée, la chaîne de requête d'origine est ajoutée à l'URL générée, même si l'expression ne gère pas les paramètres de requête.

    • L'expression gère uniquement la concaténation du chemin ; le système ajoute la chaîne de requête conformément à la configuration.

Scénario 3 : Fonction wildcard_replace, Conserver la chaîne de requête est activé

  • Conserver la chaîne de requête : Activé

  • URL de requête d'exemple : https://www.example.com/image-flower-20250816-1.html?src=cdn

  • Expression : wildcard_replace(http.request.full_uri, "https://www.example.com/image-*", "https://www.example.com/${1}")

  • Emplacement de redirection réel : https://www.example.com/flower-20250816-1.html?src=cdn

  • Remarques :

    • Lorsque l'option Conserver la chaîne de requête est activée, le système ajoute la chaîne de requête d'origine (par exemple ?src=cdn) à l'URL de destination.

    • L'expression gère uniquement la réécriture du chemin ; le système transmet la chaîne de requête conformément à la configuration.

Scénario 4 : Fonction wildcard_replace, Conserver la chaîne de requête est désactivé

  • Conserver la chaîne de requête : Désactivé

  • URL de requête d'exemple : https://www.example.com/index.html?place=garden&date=20250816

  • Expression : wildcard_replace(http.request.full_uri, "https://www.example.com/index.html?place=garden&date=*", "https://www.example.com/flower-${1}-1.html")

  • Emplacement de redirection réel : https://www.example.com/flower-20250816-1.html

  • Remarques :

    • Lorsque l'option Conserver la chaîne de requête est désactivée, l'URL de destination est entièrement construite à partir de l'expression. Les paramètres d'origine (par exemple place=garden) sont utilisés uniquement pour la correspondance ; * capture la valeur située après date et la substitue en tant que ${1}.

    • L'URL finale exclut les paramètres de requête d'origine.

FAQ

Comment rediriger entre un domaine racine (domaine nu) et un domaine www ?

L'approche dépend de votre configuration DNS :

  1. Utilisation d'ESA pour la redirection : Le domaine racine et le domaine www doivent tous deux être connectés à ESA via des enregistrements CNAME ou NS. Même si vous configurez une règle de redirection, le domaine source doit conserver son enregistrement CNAME afin qu'ESA puisse reconnaître le trafic entrant. Une fois les deux domaines connectés à ESA, configurez la règle de redirection de nom d'hôte correspondante dans les règles de redirection d'ESA.

  2. Le domaine racine possède des enregistrements MX et ne peut pas utiliser CNAME (conflit DNS) : Utilisez la fonctionnalité de transfert d'URL fournie par votre fournisseur DNS. Notez que le transfert d'URL DNS prend uniquement en charge HTTP et que le trafic ne passe pas par ESA.

  3. Important : Si vous avez précédemment configuré un enregistrement de transfert d'URL dans vos paramètres DNS, vous devez supprimer cet enregistrement et ajouter le CNAME ESA avant d'utiliser les règles de redirection d'ESA. Sinon, les règles de redirection d'ESA ne prendront pas effet.

Que faire si une règle de redirection ne prend pas effet ou redirige vers la mauvaise URL ?

Vérifiez les éléments suivants dans l'ordre :

  1. Vérifiez que la condition de correspondance couvre précisément le domaine cible : Par exemple, si vous avez configuré une règle uniquement pour le domaine www mais que les utilisateurs accèdent au domaine racine, ajoutez une règle pour le domaine racine ou utilisez un caractère générique pour couvrir les deux.

  2. Confirmez que le DNS est correctement connecté à ESA : Si vous utilisez la redirection ESA, le domaine doit être connecté à ESA via des enregistrements CNAME ou NS. S'appuyer uniquement sur la configuration de redirection du serveur d'origine ou sur le transfert d'URL DNS ne fonctionnera pas.

  3. Vérifiez l'absence de règles de priorité supérieure qui remplacent la règle de redirection : Examinez l'ordre de priorité des règles et assurez-vous qu'aucune règle en amont n'intercepte ou ne modifie la requête avant que la règle de redirection ne soit évaluée.

  4. Vérifiez la syntaxe de l'expression dynamique : La concaténation d'URL nécessite la fonction concat. La saisie d'une chaîne brute avec des variables échouera. Utilisez des fonctions d'expression valides telles que concat, regex_replace ou wildcard_replace.

Que faire si les redirections provoquent une boucle infinie ou rendent le site inaccessible ?

Essayez les étapes de dépannage suivantes :

  1. Vérifiez l'absence de configuration de redirection circulaire : Vérifiez si le serveur d'origine du domaine www pointe vers le domaine racine alors que vous avez également configuré une redirection du domaine racine vers www, créant ainsi une boucle. Restaurez l'origine à l'adresse IP réelle ou à l'adresse d'origine en amont initiale.

  2. Redirection HTTP vers HTTPS : Utilisez la fonctionnalité Force HTTPS dans la console ESA plutôt que de configurer manuellement des règles de redirection. Les règles manuelles peuvent entrer en conflit les unes avec les autres et créer des boucles de redirection.

  3. Videz le cache de redirection : Si une réponse de redirection obsolète persiste en raison de la mise en cache, purgez le cache dans la console ESA, puis testez à nouveau le comportement de redirection.

  4. Vérifiez l'absence de règles inadaptées : Confirmez que les règles de redirection ne correspondent pas par inadvertance aux points de terminaison de vérification d'état ou aux chemins internes spéciaux, ce qui pourrait provoquer des échecs d'accès.

Comment configurer des redirections conditionnelles en fonction du type d'appareil (tel que mobile) ou des caractéristiques de la requête ?

Vous pouvez utiliser des en-têtes de requête tels que User-Agent dans les conditions de correspondance de la requête entrante :

  1. Méthode de correspondance : Utilisez Contains plutôt que Equals pour la correspondance User-Agent, car les chaînes User-Agent sont généralement longues et varient selon les appareils.

  2. Exemple de redirection mobile : Définissez la condition de correspondance sur User-Agent Contains Mobile ou utilisez des mots-clés tels que Android ou iPhone, puis configurez l'action comme une redirection 302 vers le domaine mobile.

  3. Contrôle avancé : Combinez le chemin, les paramètres de requête et d'autres conditions pour un contrôle granulaire des redirections. Par exemple, redirigez les utilisateurs mobiles accédant à / vers m.example.com, tandis que les utilisateurs de bureau continuent vers le domaine standard.

Pourquoi l'URL du navigateur ne change-t-elle pas après avoir configuré une règle de redirection ?

Si l'URL du navigateur ne change pas, vous utilisez peut-être la réécriture d'URL au lieu de la redirection de requête :

  1. La redirection de requête ESA envoie une réponse 3xx au client, ce qui amène le navigateur à naviguer vers la nouvelle URL et à mettre à jour la barre d'adresse.

  2. La réécriture d'URL modifie uniquement le chemin de requête vers l'origine de manière transparente (proxy côté serveur) et ne change pas l'URL du navigateur. Si vous devez conserver l'URL du navigateur inchangée tout en modifiant le chemin envoyé à l'origine, utilisez la fonctionnalité URL Rewrite au lieu des règles de redirection.

  3. Remarque sur la région d'accélération : Si la région d'accélération n'inclut pas la Chine continentale, les utilisateurs situés en Chine continentale peuvent ne pas bénéficier de l'accélération lors de l'accès à la cible de redirection.

Prise en charge des plans

Fonctionnalité

Entrance

Pro

Premium

Enterprise

Nombre de règles

10

25

50

125

Documentation connexe

Les fonctionnalités basées sur des règles varient en termes de priorité effective, de réentrance et de granularité effective. Pour plus de détails, consultez la rubrique Characteristics of rule-based features.