Dans le cas où l'hébergement de site Web est activé pour le seau, il y a une autre façon d'ajouter 301 redirect. Selon cette règle, les règles de redirection sont décrites au niveau du compartiment au format XML et peuvent être spécifiées dans les propriétés du compartiment via la console AWS S3 (section Static Website Hosting). La documentation complète sur sa syntaxe peut actuellement être trouvée here.
Cette approche est pratique lorsque vous avez des mouvements d'URL massifs dans la mesure où il est plus facile de gérer toutes les redirections en un seul endroit. Par exemple, il est possible de définir des règles de redirection
<RoutingRule>
<Condition>
<KeyPrefixEquals>index.php</KeyPrefixEquals>
</Condition>
<Redirect>
<ReplaceKeyWith>index.html</ReplaceKeyWith>
</Redirect>
</RoutingRule>
<RoutingRule>
<Condition>
<KeyPrefixEquals>blog.php?id=21</KeyPrefixEquals>
</Condition>
<Redirect>
<ReplaceKeyWith>mysql-utf-8-database-creation-snippet.html</ReplaceKeyWith>
</Redirect>
</RoutingRule>
On dirait qu'il est le même que la création d'objets faux et en spécifiant les métadonnées x-amz-site-redirect-emplacement pour eux. Les mauvaises nouvelles sont qu'il ne devrait pas y avoir plus de 50 de ces règles en XML pour un seul compartiment. Et oui, il n'est pas pratique de gérer XML. Mais pour moi, cette façon est plus facile à l'heure actuelle. Encore une fois, parce qu'il est plus facile de gérer tous les fichiers au même endroit.
Cette XML approche est extrêmement utile lorsque vous, par exemple, un répertoire renommé avec beaucoup de pages. Dans ce cas, il est nécessaire de créer une seule règle de redirection pour le répertoire, au lieu de la règle distincte pour chaque page à l'intérieur. Par exemple
<RoutingRule>
<Condition>
<KeyPrefixEquals>blog/</KeyPrefixEquals>
</Condition>
<Redirect>
<ReplaceKeyPrefixWith>it-blog/</ReplaceKeyPrefixWith>
</Redirect>
</RoutingRule>
Selon cette règle example.com/blog/whatever
sera redirigé vers example.com/it-blog/whatever
.
Une autre caractéristique utile d'une telle approche est qu'elle ne remplace que les préfixes. De la même manière qu'avec les répertoires, il est possible de rediriger la page vers la page , mais de sauvegarder les paramètres de requête. Il pourrait être approprié s'il y a un traitement JS de ces paramètres de requête . Avec les métadonnées x-amz-website-redirect-location, vous les perdrez probablement. Comme je l'ai mentionné, l'écriture et la lecture de XML peuvent être gênantes. Pour surmonter cela, j'ai écrit a simple online tool dans GWT à convertir du texte brut avec des anciennes et nouvelles URL au format XML. Il utilise le prédicat KeyPrefixEquals
et exécute la redirection ReplaceKeyPrefixWith
.
Enfin, selon documentation, si l'hébergement de site Web est désactivé, la prise en charge de la redirection ne s'applique pas à ce compartiment.
vous a été bien une solution idéale pour cela? – Daveo
Cette fonctionnalité vient d'être ajoutée. Voir ma réponse ci-dessous. – Layke
Vous devriez accepter une réponse ici. – Gray