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
Processus de redirection :
Un client demande une ressource.
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.
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. |
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.
Dans la console ESA, accédez à Site Management. Dans la colonne Website, cliquez sur le site cible.
Dans le volet de navigation de gauche, choisissez . Cliquez sur Create Rule.
-
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 :

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/datadu chemin d'origine et rediriger vers le nouveau domaine. Combinezregex_replaceavecconcatpour 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.jpgURL de redirection configurée :
http://test.example.com/image/1.jpg?test=123En-tête Location de redirection effective :
http://test.example.com/image/1.jpg?test=123Remarques : 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=321URL de redirection configurée :
http://test.example.com/image/1.jpg?test=123En-tête Location de redirection effective :
http://test.example.com/image/1.jpg?test=321Remarques : 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=321URL de redirection configurée :
http://test.example.com/image/1.jpg?test=123En-tête Location de redirection effective :
http://test.example.com/image/1.jpg?test=123Remarques : 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=321URL de redirection configurée :
http://test.example.com/image/1.jpgEn-tête Location de redirection effective :
http://test.example.com/image/1.jpg?test=321Remarques : 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=321URL de redirection configurée :
http://test.example.com/image/1.jpgEn-tête Location de redirection effective :
http://test.example.com/image/1.jpgRemarques : 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=123Expression :
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=123Expression :
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=cdnExpression :
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=20250816Expression :
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èsdateet 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 :
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.
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.
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 :
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.
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.
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.
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 queconcat,regex_replaceouwildcard_replace.
Que faire si les redirections provoquent une boucle infinie ou rendent le site web inaccessible ?
Essayez les étapes de dépannage suivantes :
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.
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.
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.
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 :
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.
Exemple de redirection mobile : Définissez la condition de correspondance sur
User-Agent Contains Mobileou utilisez des mots-clés tels queAndroidouiPhone, puis configurez l'action comme une redirection 302 vers le domaine mobile.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 à
/versm.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 :
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.
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.
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.