Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Si votre compartiment Amazon S3 est configuré pour l’hébergement de site web statique, vous pouvez configurer des redirections pour votre compartiment ou les objets qu’il contient. Vous disposez des options suivantes pour configurer des redirections.
Rubriques
Rediriger les demandes pour le point de terminaison de site web de votre compartiment vers un autre compartiment ou domaine
Vous pouvez rediriger toutes les demandes d’un point de terminaison de site web pour un compartiment vers un autre compartiment ou domaine. Si vous redirigez toutes les demandes, chaque demande adressée au point de terminaison de site web est redirigée vers le compartiment ou le domaine spécifié.
Par exemple, si votre domaine racine est example.com
, et que vous souhaitez gérer des demandes pour http://example.com
et http://www.example.com
, vous devez créer deux compartiments nommés example.com
et www.example.com
. Ensuite, gérez le contenu dans le compartiment example.com
et configurez l’autre compartiment www.example.com
de manière à rediriger toutes les demandes vers le compartiment example.com
. Pour plus d’informations, consultez les informations relatives à la configuration d’un site Web statique à l’aide d’un nom de domaine personnalisé.
Pour rediriger des demandes pour un point de terminaison de site Web de compartiment
-
Ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/
. -
Sous Buckets (Compartiments), choisissez le nom du compartiment à partir duquel vous souhaitez rediriger les demandes (par exemple,
www.example.com
). -
Choisissez Propriétés.
-
Sous Static website hosting (Hébergement de site web statique), choisissez Edit (Modifier).
-
Choisissez Redirect requests for an object (Rediriger les demandes pour un objet).
-
Dans la zone Host name (Nom d’hôte), entrez le point de terminaison du site web pour votre compartiment ou votre domaine personnalisé.
Par exemple, si vous redirigez les demandes vers une adresse de domaine racine, entrez
example.com
. -
Pour Protocol (Protocole), choisissez le protocole pour les demandes redirigées (none (aucun),http ou https).
Si vous ne spécifiez pas de protocole, l’option par défaut est none (aucun).
-
Sélectionnez Enregistrer les modifications.
Configurer des règles de redirection pour utiliser des redirections conditionnelles avancées
Avec les règles de redirection avancées, vous pouvez acheminer des demandes de façon conditionnelle, en fonction de noms de clés d’objets spécifiques, de préfixes dans la demande ou de codes réponse. A titre d’exemple, supposez que vous supprimiez ou renommiez un objet dans votre compartiment. Vous pouvez ajouter une règle de routage qui redirige la demande vers un autre objet. Si vous souhaitez qu’un dossier ne soit plus accessible, vous pouvez ajouter une règle de routage pour rediriger la demande vers une autre page Web. Vous pouvez également ajouter une règle de routage pour gérer des conditions d’erreur en acheminant les demandes qui renvoient l’erreur vers un autre domaine, où celle-ci sera traitée.
Lorsque vous activez l’hébergement de site web statique pour votre compartiment, vous pouvez éventuellement spécifier des règles de redirection avancées. Amazon S3 impose une limitation de 50 règles de routage par configuration de site web. Si vous avez besoin de plus de 50 règles de routage, vous pouvez utiliser la redirection d’objet. Pour de plus amples informations, veuillez consulter Utilisation de la console S3.
Pour plus d'informations sur la configuration des règles de routage à l'aide de l'API REST, consultez PutBucketWebsitele manuel Amazon Simple Storage Service API Reference.
Important
Pour créer des règles de redirection dans la nouvelle console Amazon S3, vous devez utiliser JSON. Pour des exemples JSON, consultez Exemples de règles de redirection.
Pour configurer des règles de redirection pour un site web statique
Pour ajouter des règles de redirection pour un compartiment qui a déjà l’hébergement de site Web statique activé, procédez comme suit.
-
Ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/
. -
Dans le volet de navigation de gauche, choisissez Compartiments à usage général.
-
Dans la liste des compartiments, choisissez le nom d'un compartiment que vous avez configuré en tant que site Web statique.
-
Choisissez Propriétés.
-
Sous Static website hosting (Hébergement de site Web statique), choisissez Edit (Modifier).
-
Dans la zone Redirection rules (Règles de redirection), entrez vos règles de redirection dans JSON.
Dans la console S3, vous décrivez les règles en utilisant JSON. Pour des exemples JSON, consultez Exemples de règles de redirection. Amazon S3 impose une limitation de 50 règles de routage par configuration de site web.
-
Sélectionnez Enregistrer les modifications.
Éléments de règle de routage
Voici la syntaxe générale permettant de définir les règles de routage dans une configuration de site Web en JSON et XML Pour configurer les règles de redirection dans la nouvelle console S3, vous devez utiliser JSON. Pour des exemples JSON, consultez Exemples de règles de redirection.
[
{
"Condition": {
"HttpErrorCodeReturnedEquals": "string",
"KeyPrefixEquals": "string"
},
"Redirect": {
"HostName": "string",
"HttpRedirectCode": "string",
"Protocol": "http"|"https",
"ReplaceKeyPrefixWith": "string",
"ReplaceKeyWith": "string"
}
}
]
Note: Redirect must each have at least one child element. You can have either ReplaceKeyPrefix with or ReplaceKeyWith but not both.
Le tableau suivant décrit les éléments de la règle de routage.
Nom | Description |
---|---|
RoutingRules |
Conteneur de l’ensemble des éléments RoutingRule . |
RoutingRule |
Une règle qui identifie une condition et la redirection qui est appliquée quand la condition est respectée. Condition :
|
Condition |
Conteneur de la description de la condition qui doit être respectée pour que la redirection spécifiée soit appliquée. Si la règle de routage ne comprend pas de condition, la règle s’applique à toutes les demandes. |
KeyPrefixEquals |
Le préfixe de nom de la clé d’objet à partir duquel les demandes sont redirigées.
|
HttpErrorCodeReturnedEquals |
Le code d’erreur HTTP doit correspondre pour que la redirection s’applique. En cas d’erreur, et si le code d’erreur correspond à cette valeur, la redirection spécifiée est appliquée.
|
Redirect |
Elément du conteneur qui fournit des instructions pour rediriger la demande. Vous pouvez rediriger les demandes vers un autre hôte ou une autre page ; vous pouvez également indiquer un autre protocole d’utilisation. Une règle |
Protocol |
Le protocole, Si l’un des enfants est fourni, |
HostName |
Le nom d’hôte à utiliser dans l’en-tête Si l'un des enfants est fourni, |
ReplaceKeyPrefixWith |
Le préfixe de nom de la clé d’objet qui remplace la valeur de Si l'un des enfants est fourni, |
ReplaceKeyWith |
La clé de l’objet à utiliser dans l’en-tête Si l'un des enfants est fourni, |
HttpRedirectCode |
Le code de redirection HTTP à utiliser dans l’en-tête Si l'un des enfants est fourni, |
Exemples de règles de redirection
Les exemples suivants décrivent les tâches de redirection courantes :
Important
Pour créer des règles de redirection dans la nouvelle console Amazon S3, vous devez utiliser JSON.
Exemple 1 : Redirection après renommage du préfixe de clé
Supposez que votre compartiment contienne les objets suivants :
-
index.html
-
docs/article1.html
-
docs/article2.html
Vous décidez de remplacer le nom de dossier docs/
par documents/
. Après avoir fait ce changement, vous devez rediriger les demandes pour le préfixe docs/
vers documents/
. A titre d’exemple, la demande pour docs/article1.html
sera redirigée vers documents/article1.html
.
Dans ce cas, vous ajoutez la règle de routage suivante à la configuration du site web.
[
{
"Condition": {
"KeyPrefixEquals": "docs/"
},
"Redirect": {
"ReplaceKeyPrefixWith": "documents/"
}
}
]
Exemple 2 : Redirection des demandes pour un répertoire supprimé vers une page
Supposez que vous supprimiez le dossier images/
(c’est-à-dire tous les objets ayant le préfixe de clé images/
). Vous pouvez ajouter une règle de routage qui redirige les demandes concernant tout objet ayant le préfixe de clé images/
vers une page appelée folderdeleted.html
.
[
{
"Condition": {
"KeyPrefixEquals": "images/"
},
"Redirect": {
"ReplaceKeyWith": "folderdeleted.html"
}
}
]
Exemple 3 : Redirection d’une erreur HTTP
Supposons que lorsqu'un objet demandé n'est pas trouvé, vous souhaitiez rediriger les demandes vers une instance Amazon Elastic Compute Cloud (Amazon EC2). Ajoutez une règle de redirection afin que lorsqu'un code d'état HTTP 404 (Not Found)
est renvoyé, le visiteur du site soit redirigé vers une EC2 instance Amazon qui gère la demande.
L’exemple suivant insère également le préfixe de la clé d’objet report-404/
dans la redirection. Par exemple, si vous demandez une page ExamplePage.html
et que cela entraîne une erreur HTTP 404, la demande est redirigée vers une report-404/ExamplePage.html
page de l' EC2instance Amazon spécifiée. S’il n’y a pas de règle de routage et qu’une erreur HTTP 404 se produit, le document d’erreur spécifié dans la configuration est renvoyé.
[
{
"Condition": {
"HttpErrorCodeReturnedEquals": "404"
},
"Redirect": {
"HostName": "ec2-11-22-333-44.compute-1.amazonaws.com",
"ReplaceKeyPrefixWith": "report-404/"
}
}
]
Rediriger les demandes pour un objet
Vous pouvez rediriger les demandes d’un objet vers un autre objet ou une autre URL en définissant l’emplacement de redirection du site Web dans les métadonnées de l’objet. Vous configurez la redirection en ajoutant la propriété x-amz-website-redirect-location
aux métadonnées d’objet. Sur la console Amazon S3, vous définissez l’élément Website Redirect Location (Emplacement de redirection de site web) dans les métadonnées de l’objet. Si vous utilisez l’API Amazon S3, vous définissez x-amz-website-redirect-location
. Le site web interprète alors l’objet comme une redirection 301.
Pour rediriger une demande vers un autre objet, vous définissez l’emplacement de redirection vers la clé de l’objet cible. Pour rediriger une demande vers une URL externe, vous définissez l’emplacement de redirection vers l’URL choisie. Pour plus d’informations sur les métadonnées d’objet, consultez Métadonnées d’objet définies par le système.
Quand vous définissez une redirection de page, vous pouvez garder ou supprimer le contenu de l’objet source. Par exemple, si vous avez un objet page1.html
dans votre compartiment, vous pouvez rediriger toutes les demandes de cette page vers un autre objet, page2.html
. Vous avez deux options :
-
Conservez le contenu de l’objet
page1.html
et redirigez les demandes de pages. -
Supprimez le contenu de
page1.html
et chargez un objet zéro octet nommépage1.html
pour remplacer l’objet existant et rediriger les demandes de pages.
-
Ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/
. -
Dans la liste Compartiments, choisissez le nom d’un compartiment que vous avez configuré en tant que site web statique (par exemple,
example.com
). -
Sous Objects (Objets), sélectionnez votre objet.
-
Choisissez Actions, puis Edit metadata (Modifier les métadonnées).
-
Choisissez Métadonnées.
-
Sélectionnez Ajouter des métadonnées.
-
Sous Type, choisissez System Defined (Défini par le système).
-
Dans Key, choisissez x-amz-website-redirect-location.
-
Dans Valeur, entrez le nom de clé de l’objet vers lequel vous souhaitez rediriger, par exemple
/page2.html
.Pour un autre objet dans le même compartiment, le préfixe
/
dans la valeur est requis. Vous pouvez également définir la valeur sur une URL externe, par exemple,http://www.example.com
. -
Choisissez Edit metadata (Modifier les métadonnées).
Les actions d’API Amazon S3 suivantes prennent en charge l’en-tête x-amz-website-redirect-location
dans la demande. Amazon S3 stocke la valeur de l’en-tête dans les métadonnées de l’objet sous la forme x-amz-website-redirect-location
.
Un compartiment configuré pour l’hébergement d’un site Web a un point de terminaison de site Web et un point de terminaison REST. Une demande pour une page qui est configurée comme une redirection 301 peut engendrer les résultats possibles suivants, selon le point de terminaison de la demande :
-
Point de terminaison de site web propre à une Région – Amazon S3 redirige la demande de page en fonction de la valeur de la propriété
x-amz-website-redirect-location
. -
Point de terminaison REST – Amazon S3 ne redirige pas la demande de page. Il renvoie l’objet demandé.
Pour plus d’informations sur les points de terminaison, consultez Différences clés entre un point de terminaison de site web et un point de terminaison de l’API REST.
Lors de la définition d’une redirection de page, vous pouvez garder ou supprimer le contenu de l’objet source. A titre d’exemple, supposez que vous ayez un objet page1.html
dans votre compartiment.
-
Pour conserver le contenu de
page1.html
et rediriger uniquement les demandes de page, vous pouvez envoyer une demande PUT Object - Copy pour créer un objetpage1.html
qui utilise l’objetpage1.html
existant comme source. Dans votre demande, vous définissez l’en-têtex-amz-website-redirect-location
. Lorsque la demande est terminée, la page d’origine et son contenu restent inchangés, cependant Amazon S3 redirige toute demande de la page vers l’emplacement de redirection que vous avez indiqué. -
Pour supprimer le contenu de l’objet
page1.html
et rediriger les demandes pour la page, vous pouvez envoyer une demande PUT Object pour charger un objet de 0 octet ayant la même clé d’objet :page1.html
. Dans une demande PUT, vous définissezx-amz-website-redirect-location
pourpage1.html
dans le nouvel objet. Une fois que la demande est terminée,page1.html
n’a aucun contenu, et les demandes sont redirigées vers l’emplacement qui est spécifié parx-amz-website-redirect-location
.
Lorsque vous récupérez l’objet à l’aide de l’action GET Object avec les autres métadonnées d’objet, Amazon S3 renvoie l’en-tête x-amz-website-redirect-location
dans la réponse.