Tous les produits
Search
Centre de documentation

Edge Security Acceleration:Redirections de requêtes

Dernière mise à jour :Aug 12, 2026

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

Fonctionnement

image

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 à la nouvelle URL.

Codes d'état et cas d'usage

Code d'état

Signification

Gestion des méthodes

Cas d'usage 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 définitivement 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 converties en GET et le corps de la requête est ignoré.

Redirection après une requête PUT ou POST afin d'éviter les soumissions dupliquées lors d'une 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 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 préserve la méthode HTTP et le corps de la requête. Recommandé pour les migrations d'API ou les refontes de site nécessitant la cohérence des méthodes.

Important

Pour rediriger des appels d'API ou des requêtes non-GET (telles que POST ou PUT) tout en préservant 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 risquent de convertir les requêtes non-GET en GET, ce qui entraîne une perte de données.

Évitez de configurer des redirections sur des chemins d'envoi de fichiers à fort trafic (tels que /api/upload). Pour ces chemins, isolez-les sur un domaine dédié ou interceptez 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 trouvée.

  1. Dans la console ESA, accédez à 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 Composants d'une expression de règle.

    • 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

      Construisez l'URL de destination dynamiquement à 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 courants d'expressions dynamiques :

      • Conserver le chemin d'origine (de non-www à www, de HTTP à 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. Ce modèle est utile 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 Codes d'état et cas d'usage.

      Retain Query String

      Indique s'il faut transmettre la chaîne de requête d'origine à 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 Exemples de configuration.

Exemples de configuration

Exemples de redirection statique

Scénario 1 : La requête n'a pas de chaîne de requête, l'URL de redirection en possède 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é

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

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

  • En-tête Location de redirection effective : http://test.example.com/image/1.jpg?test=123

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

Scénario 2 : Les deux URL ont des chaînes de requête, Conserver la chaîne de requête 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é

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

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

  • En-tête Location de redirection effective : http://test.example.com/image/1.jpg?test=321

  • Remarques : Lorsque Conserver la chaîne de requête est activé, 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 ont des chaînes de requête, Conserver la chaîne de requête 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é

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

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

  • En-tête Location de redirection effective : http://test.example.com/image/1.jpg?test=123

  • Remarques : Lorsque Conserver la chaîne de requête est désactivé, 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 a une chaîne de requête, l'URL de redirection n'en a pas, Conserver la chaîne de requête 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é

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

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

  • En-tête Location de redirection effective : http://test.example.com/image/1.jpg?test=321

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

Scénario 5 : La requête a une chaîne de requête, l'URL de redirection n'en a pas, Conserver la chaîne de requête 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é

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

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

  • En-tête Location de redirection effective : http://test.example.com/image/1.jpg

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

Exemples de redirection dynamique

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

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

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

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

  • En-tête Location de redirection effective : https://www.example.com/image/1.jpg

  • Remarques :

    • Lorsque Conserver la chaîne de requête est désactivé, 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 traités.

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

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

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

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

  • En-tête Location de redirection effective : https://www.example.com/image/1.jpg?test=123

  • Remarques :

    • Lorsque Conserver la chaîne de requête est activé, 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 activé

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

  • Exemple d'URL de requête : 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}")

  • En-tête Location de redirection effective : https://www.example.com/flower-20250816-1.html?src=cdn

  • Remarques :

    • Lorsque Conserver la chaîne de requête est activé, 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 désactivé

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

  • Exemple d'URL de requête : 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")

  • En-tête Location de redirection effective : https://www.example.com/flower-20250816-1.html

  • Remarques :

    • Lorsque Conserver la chaîne de requête est désactivé, l'URL de destination est construite entièrement à partir de l'expression. Les paramètres d'origine (par exemple, place=garden) servent uniquement à 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 ESA.

  2. Le domaine racine possède des enregistrements MX et ne peut pas avoir de 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 transite 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 ESA. Sinon, les règles de redirection ESA ne prendront pas effet.

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

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 uniquement configuré une règle 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. Se fier uniquement à la configuration de redirection du serveur d'origine ou au transfert d'URL DNS ne fonctionnera pas.

  3. Recherchez des règles prioritaires susceptibles de remplacer 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 l'évaluation de la règle de redirection.

  4. Vérifiez la syntaxe des expressions dynamiques : 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 web inaccessible ?

Essayez les étapes de dépannage suivantes :

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

  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. Des règles manuelles peuvent entrer en conflit 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 endpoints de vérification d'état ou à des chemins internes spéciaux, ce qui pourrait entraîner des échecs d'accès.

Comment configurer des redirections conditionnelles basées sur le type d'appareil (comme mobile) ou les 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 des requêtes entrantes :

  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 la configuration d'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 d'origine de manière transparente (proxy côté serveur) et ne modifie 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 pourraient ne pas bénéficier de l'accélération lors de l'accès à la cible de redirection.

Prise en charge selon les offres

Fonctionnalité

Entrance

Pro

Premium

Enterprise

Nombre de règles

10

25

50

125

Documentation associée

Les fonctionnalités liées aux règles varient en termes de priorité effective, de réentrance et de granularité d'application. Pour plus de détails, consultez Propriétés des fonctionnalités liées aux règles.