Lorsqu'une ressource est déplacée sur le serveur d'origine, l'URL de cette ressource mise en cache sur les points de présence (POPs) de Dynamic Content Delivery Network (DCDN) est ajustée en conséquence. Si une requête utilisateur contient une URL obsolète, les POPs réécrivent l'URL et redirigent la requête vers la nouvelle adresse. Ce mécanisme réduit le nombre de requêtes vers l'origine et améliore les performances d'accès pour les utilisateurs.
Informations générales
Le code d'état HTTP 302, également appelé message « Found », indique que la ressource demandée a été temporairement déplacée. Après la création d'une règle de réécriture d'URI, les POPs DCDN peuvent ajouter la nouvelle URI de la ressource dans l'en-tête Location du message de réponse HTTP 302. À la réception de ce message, le client envoie une requête vers la nouvelle URI.
Outre le code d'état 302 par défaut, les POPs prennent également en charge les codes 303 et 307. Pour modifier le code d'état de redirection, envoyez un ticket.
|
Code d'état HTTP |
Description |
Méthode de traitement |
Scénario |
|
302 |
Found |
Les requêtes GET restent inchangées. Les requêtes utilisant d'autres méthodes peuvent être converties en requêtes GET. |
Une page web est temporairement inaccessible pour des raisons inconnues. Dans ce cas, les moteurs de recherche ne mettent pas à jour l'URL de la page. |
|
303 |
See Other |
Les requêtes GET restent inchangées. Les requêtes utilisant d'autres méthodes sont converties en requêtes GET. Le corps du message est supprimé. |
Ce code d'état permet de rediriger les requêtes PUT et POST afin d'éviter les redirections fréquentes causées par l'actualisation d'une page. |
|
307 |
Temporary Redirect |
La méthode de requête et le corps du message restent tous deux inchangés. |
Une page web est temporairement inaccessible pour des raisons inconnues. Les moteurs de recherche ne mettent alors pas à jour l'URL de la page. Si le site web prend en charge des méthodes de requête autres que GET, le code d'état 307 est retourné à la place du code 302. |
Vous pouvez créer jusqu'à 50 règles de réécriture pour un nom de domaine. Si vous configurez plusieurs règles, elles s'appliquent par ordre décroissant, selon leur affichage dans la console DCDN.
Scénarios
Si une ressource du serveur d'origine est déplacée vers un autre répertoire, l'URL de la ressource mise en cache sur les POPs est mise à jour. Par conséquent, lorsqu'un client envoie une requête vers l'URL d'origine, DCDN doit réécrire et rediriger cette requête vers la nouvelle URL. Par exemple, un fichier image est déplacé du répertoire /download/ vers le répertoire /image/.
Procédure
Connectez-vous à la console DCDN.
Dans le volet de navigation de gauche, cliquez sur Domain Names.
Sur la page Domain Names, recherchez le nom de domaine cible et cliquez sur Configure.
Dans l'arborescence de navigation de gauche du nom de domaine, cliquez sur Caching.
Cliquez sur l'onglet URL Rewrite.
-
Cliquez sur Add et configurez la règle de réécriture selon vos besoins métier.

Paramètre
Description
URI to Be Rewritten
Le chemin doit commencer par une barre oblique (
/) et exclure le protocole ainsi que le nom de domaine.Les expressions régulières compatibles Perl (PCRE) sont prises en charge. Exemple :
^/hello$.
Target URI
Si vous définissez Flag sur Break dans une règle de réécriture, le chemin doit commencer par une barre oblique (
/) et exclure le protocole ainsi que le nom de domaine.Si vous définissez Flag sur Redirect dans une règle de réécriture, le chemin peut contenir le protocole et le nom de domaine. PCRE est pris en charge. Par exemple,
$1et$2servent à référencer les chaînes capturées entre parenthèses dans le chemin à réécrire.
Flag
Valeurs valides : Redirect et Break.
Redirect : si l'URI d'une requête correspond à une règle spécifiée, un POP retourne le code d'état 302 et redirige la requête vers l'URI indiquée dans l'en-tête Location renvoyé aux clients. Les paramètres de l'URI d'origine ne sont pas modifiés. Après l'exécution de la règle en cours, la requête est comparée aux autres règles.
Break : si l'URI d'une requête correspond à une règle spécifiée, un POP redirige la requête vers l'URI cible. Les paramètres de l'URI d'origine ne sont pas modifiés. Une fois la règle actuelle exécutée, les règles suivantes sont ignorées.
-
Cliquez sur OK.
Une fois la fonctionnalité de réécriture créée, vous pouvez Modify ou Delete la règle affichée dans l'onglet URL Rewrite.
Exemples de configuration
Exemple 1
Lorsqu'un client demande http://example.aliyundoc.com/hello, le chemin de la requête est /hello. Le nœud DCDN inclut la nouvelle URL http://example.aliyundoc.com/index.html dans l'en-tête Location de la réponse 302 et retourne cette réponse au client. Le client envoie ensuite une requête vers http://example.aliyundoc.com/index.html.
Pour cette règle, Path to Rewrite est défini sur ^/hello$, Destination Path est défini sur /index.html, et Execution Rule est défini sur redirect.
Lors d'une redirection 302, si l'en-tête Location n'inclut pas de protocole ni de nom de domaine, le client utilise par défaut le protocole et le nom de domaine de la requête d'origine.
Exemple 2
Lorsqu'un client demande http://example.aliyundoc.com/hello, le chemin de requête /hello correspond à l'expression régulière ^/hello$. Le nœud DCDN retourne une réponse 302 au client. La réponse inclut l'URL de destination https://test.aliyundoc.com/index.html dans l'en-tête Location. Après réception de la réponse, le client envoie une requête vers https://test.aliyundoc.com/index.html.
Règle de configuration : définissez Path to Rewrite sur ^/hello$, Destination Path sur https://test.aliyundoc.com/index.html, et Execution Rule sur redirect.
Exemple 3
Lorsqu'un client demande http://www.example.com/cdn/url/http://image.example.com/image/cat.jpg, le chemin de la requête contient /cdn/url/http://, ce qui correspond à l'expression régulière ^/cdn/url/http://(.*). Le nœud DCDN retourne une réponse 302 au client. Cette réponse inclut l'URL de destination http://image.example.com/image/cat.jpg dans l'en-tête Location. Une fois la réponse reçue, le client envoie une requête vers http://image.example.com/image/cat.jpg.
Pour la règle de configuration, définissez Destination Path sur http://$1 et Execution Rule sur redirect.
Exemple 4
Lorsqu'un client demande http://example.aliyundoc.com/stories/index.html#/voice/318, la partie #/voice/318 de l'URL est un identifiant de fragment côté client. Le navigateur n'envoie pas cette partie au serveur. Le chemin de requête réel reçu par le nœud DCDN est /stories/index.html. Par conséquent, lors de la configuration de la règle de réécriture, définissez Path to Rewrite sur ^/stories/index\.html$ pour faire correspondre le chemin précédant le caractère #. Ensuite, définissez Destination Path sur l'URL cible et Execution Rule sur Redirect.
Pour rediriger plusieurs URL source comportant différents fragments # vers des URL de destination distinctes, configurez une règle de réécriture séparée pour chaque chemin source. En effet, un serveur ne peut pas distinguer les URL en se basant sur le contenu suivant le symbole #.