ApsaraVideo VOD vous permet de réécrire l'URL d'une requête de retour à l'origine sans affecter les chemins internes du CDN ni la clé de cache. Un point de présence (POP) utilise l'URL réécrite uniquement lors de l'envoi d'une requête de retour à l'origine.
Fonctionnement
Les règles de réécriture de chemin d'origine modifient le chemin de la requête pour qu'il corresponde à l'emplacement réel de la ressource sur votre serveur d'origine. Ainsi, les POP récupèrent précisément les ressources ou transmettent des chaînes de requête spécifiques à l'origine.
-
Si l'option Flag est définie sur None ou break, seul le chemin de la ressource dans l'URL est réécrit.

-
Si l'option Flag est définie sur enhance break, le chemin de la ressource et la chaîne de requête sont réécrits.

Remarques relatives à l'utilisation
Vous pouvez configurer jusqu'à 50 règles Origin Path Rewrite pour un seul nom de domaine.
Les règles s'appliquent de haut en bas. Leur ordre influence le résultat final de la réécriture.
La configuration d'une règle d'exécution pour la réécriture d'URL d'origine peut entraîner un conflit entre la réécriture des paramètres d'URL et la fonctionnalité Ignore Parameters de l'onglet Domain Names > Performance Optimization. Si vous activez ces deux fonctionnalités, vérifiez l'absence de conflit entre leurs paramètres.
Procédure
Connectez-vous à la console ApsaraVideo VOD.
Dans le volet de navigation de gauche, choisissez Configuration Management > CDN Configuration > Domain Names.
Recherchez le nom de domaine à gérer et cliquez sur Configure dans la colonne Actions.
Dans le volet de navigation de gauche du nom de domaine, cliquez sur Back-to-Origin.
Cliquez sur l'onglet Origin URL Rewrite.
-
Cliquez sur Add et configurez le chemin source, le chemin de destination et la règle d'exécution selon vos besoins.
ImportantLes règles de réécriture de la page Origin URL Rewrite s'exécutent séquentiellement de haut en bas, ce qui peut affecter les résultats.
Paramètre
Exemple
Description
Chemin source
^/hello$
Le chemin d'URL à faire correspondre. Il doit commencer par une barre oblique (/) et ne doit pas inclure le préfixe
http://ni un nom de domaine. Les expressions régulières compatibles Perl (PCRE) sont prises en charge.Chemin de destination
/hello/test
Le chemin d'URL à utiliser pour la réécriture. Il doit commencer par une barre oblique (/) et ne doit pas inclure le préfixe
http://ni un nom de domaine.règle d'exécution
Vide
Si une URL de requête correspond à la règle, le système applique la réécriture et poursuit le traitement. L'URL réécrite est ensuite évaluée par rapport aux règles suivantes.
break
-
Si une URL de requête correspond à cette règle, le système exécute la règle et arrête le traitement des règles suivantes.
-
Cette option réécrit uniquement le chemin de la ressource dans l'URL, et non les paramètres d'URL. Elle n'entre pas en conflit avec la fonctionnalité réécriture de paramètre.
enhance break
-
Si une URL de requête correspond à cette règle, la règle s'exécute et aucune règle suivante n'est traitée.
-
Semblable à
break, mais cette option peut également réécrire les paramètres d'URL. .
-
-
Cliquez sur OK pour appliquer la règle de réécriture.
Sur l'onglet Origin URL Rewrite, vous pouvez également cliquer sur Modify ou Delete dans la liste des règles pour gérer les règles de réécriture existantes.
Exemples de configuration
Exemple 1 : Règle d'exécution vide
Chemin à réécrire | ^/hello$ |
Chemin cible | /index.html |
Indicateur | None |
Résultat | Requête d'origine : Requête de récupération à l'origine après réécriture : La requête est ensuite comparée aux règles suivantes de la liste Origin Path Rewrite. |
Exemple 2 : Règle d'exécution break
Chemin à réécrire | ^/hello.jpg$ |
Chemin cible | /image/hello.jpg |
Indicateur | break |
Résultat | Requête d'origine : Requête de récupération à l'origine après réécriture : Aucune règle suivante de la liste Origin Path Rewrite n'est évaluée. |
Exemple 3 : Règle d'exécution enhance break
Chemin à réécrire | ^/hello.jpg?code=123$ |
Chemin cible | /image/hello.jpg?code=321 |
Indicateur | enhance break |
Résultat | Requête d'origine : Requête de récupération à l'origine après réécriture : Aucune règle suivante de la liste Origin Path Rewrite n'est évaluée. |
Exemple 4 : Ajout d'un préfixe aux chemins racine
Par exemple, vous pouvez réécrire un chemin d'URL tel que /xxx, où xxx est un nom de fichier variable (par exemple, /hello.jpg ou /hello.html), en /image/xxx. Cela insère le préfixe /image dans le chemin pour tout fichier situé dans le répertoire racine.
Chemin à réécrire | ^(.*)$ Remarque
|
Chemin cible | /image$1 Remarque
|
Indicateur | break |
Résultat |
Aucune règle suivante de la liste Origin Path Rewrite n'est évaluée. |
Exemple 5 : Ajout d'un préfixe à des chemins spécifiés
Par exemple, vous pouvez réécrire une URL contenant /live/xxx, où xxx représente n'importe quel nom de fichier (par exemple, hello.jpg ou hello.html), en /image/live/xxx. Cela insère le préfixe /image dans le chemin pour tout fichier situé sous le répertoire /live.
Chemin à réécrire | ^/live/(.*)$ |
Chemin cible | /image/live/$1 |
Indicateur | break |
Résultat |
Aucune règle suivante de la liste Origin Path Rewrite n'est évaluée. |
Exemple 6 : Correspondance de plusieurs règles avec la règle vide
Prenons deux règles activées. Règle 1 : Le Source Path est ^/image_01.png$, le Destination Path est /image_02.png et la règle d'exécution est Empty. Règle 2 : Le Source Path est ^(.*)$, le Destination Path est /image$1 et la règle d'exécution est Empty.
Résultat :
Requête d'origine :
http://example.com/image_01.png-
Requête de récupération à l'origine après réécriture :
http://example.com/image/image_02.pngRemarqueLa requête correspond d'abord à la règle 1 et est réécrite en
http://example.com/image_02.png. Comme l'option Flag est définie sur None, le chemin réécrit est ensuite évalué par rapport à la règle 2, qui correspond également. Le chemin est réécrit une seconde fois, ce qui donne le chemin final :http://example.com/image/image_02.png.
Exemple 7 : Correspondance de plusieurs règles avec la règle break
Prenons deux règles activées. Règle 1 : Le Source Path est ^/image_01.png$, le Destination Path est /image_02.png et la règle d'exécution est break. Règle 2 : Le Source Path est ^(.*)$, le Destination Path est /image$1 et la règle d'exécution est Empty.
Résultat :
Requête d'origine :
http://example.com/image_01.png-
Requête de récupération à l'origine après réécriture :
http://example.com/image_02.pngRemarqueLa requête correspond d'abord à la règle 1 et est réécrite en
http://example.com/image_02.png. Comme l'option Flag de la règle 1 est définie sur break, le traitement s'arrête et aucune règle suivante n'est évaluée.