S3 site web statique document d'index
Je suis en train de télécharger mon site web statique pour mon s3 seau. J'ai réussi à accomplir cela. J'ai créé my_bucket et puis créer un sub_bucket nommé test_folder et que j'ai envoyé tous mes css, html, js fichiers.
Il devrait ressembler à ceci maintenant:
my_bucket/
test_folder
index.html
Et j'ai pu voir mon index.html, horray! :D. Mais ma question est dans la mise en place du document d'index, depuis le index.html est situé à une sub_bucket: test_folder/index.html quand j'essaie de le sauver, m'a donné Le
IndexDocument Suffixe n'est pas bien formé
Est-il possible de lier les index.html dans un sub_bucket? Si oui, comment? Si non, est-il un autre moyen pour y parvenir? J'ai ici une capture d'écran lien
OriginalL'auteur user2720708 | 2013-11-28
Vous devez vous connecter pour publier un commentaire.
Bien que souvent utilisé à des fins différentes, l'indice document avait été initialement prévu, sur le plan conceptuel, à l ' "indice" (liste de répertoires ou d'autres contenus résumé) de tous les fichiers dans chaque dossier de manière à ce paramètre de configuration spécifie l'index du document à retourner pour chaque dossier dans l'ensemble du seau, si un tel document existe dans le dossier... ce n'est pas une configuration unique "chose" pour le seau dans son ensemble.
Si votre tentative de configuration qui avait été accepté par S3, il aurait eu l'impact suivant, en supposant un seau nom de "example.com":
Il semble très peu probable que c'est ce que vous avez prévu.
Cependant, mais c'est la façon d'indexer des documents de travail... ils sont théoriquement destinés à être liés à d'autres choses, à chaque niveau de la hiérarchie du répertoire, qui, bien sûr, pourrait être la liste des fichiers, ou pourrait être un "index" dans une beaucoup plus large et trop vague et le sentiment général de tous "de la page," comme une page de destination que vous voulez un visiteur de voir quand ils vont à un "annuaire" sur votre site, qui, bien sûr, dans le web moderne n'est généralement pas conçu comme un "répertoire", mais plutôt simplement comme une "page".
De sorte que l'indice document doit être immédiatement sous le même
/
délimiteur et ne peut pas contenir un supplément de/
au sein de son propre cahier des charges.Le document d'index pour example.com doit être stocké dans example.com/index.html (en supposant que "index.html" est votre indice choisi le nom de fichier), il doit être stocké dans le "répertoire" qu'il indexe, comme sur les classiques serveur web, où, dans certaines configurations, le serveur web va afficher une liste de répertoires de fichiers, avec l ' "indice" de la page de remplacer l'inscription au répertoire dans les cas où la "index" à la page existe réellement. Bien sûr, S3 n'a pas de répertoire par défaut la page de la liste des fonctionnalités.
http://docs.aws.amazon.com/AmazonS3/latest/dev/IndexDocumentSupport.html
Contrairement à l'indice de document, le document d'erreur, si vous le configurez, est une configuration globale qui est utilisé indépendamment de l'endroit où, dans le seau, la 404 se produit, de sorte que les barres obliques sont pris en charge dans l'entrée. La console AWS invites sont la lumière sur des indications quant à la nature des deux entrées, qui sont tellement différents dans leur comportement qu'ils devraient sans doute être plus séparés, visuellement.
Vous remarquerez que les "sous-seau" n'est pas un terme lui-même, pour ce que vous décrivez, qui est un objet avec des séparateurs dans sa clé (chemin d'accès), ce qui donne l'impression d'être imbriquée dans un répertoire ou d'un dossier.
Pour plus de clarté, j'ai utilisé les mots "dossier" et "répertoire" très décontracté, tout au long de cette réponse, avec le sens conventionnel... mais pour la technique, la précision, je vais mentionner que les objets S3 ne sont pas vraiment enregistrées dans la mémoire interne de façon hiérarchique "dans les répertoires." Il apparaît de cette façon, et pour des raisons pratiques, il fonctionne de cette manière; cependant, c'est en fait le cas que le
/
caractère, tandis que près d'être juste un autre personnage dans la clé de l'objet, bien qu'il ait un peu de traitement spécial comme un séparateur en raison de son usage classique comme un séparateur de répertoire.Contrairement à certains, plus conventionnelle, systèmes de fichiers, le nombre de fichiers dans chaque répertoire" ne pose pas de souci de performances avec S3 et n'a pas besoin d'être gérée de la même manière qu'il est nécessaire dans un classique système de fichiers lorsqu'un grand nombre de fichiers existe, depuis S3 en interne hachages de la clé ("chemin") de chaque objet pour son stockage interne de partitionnement logique.test_folder/index.html
coz à l'intérieur de mon seau j'ai d'autresfolders
. Et aussi quand je accéder à mon navigateurhttp://mybucket/test_folder
m'a donné unAccess Denied Issue
Cela semble être une très longue haleine réponse-à-dire "mettre votre index.html dans le répertoire de racine".
Vous voudrez peut-être lire à nouveau, ensuite, parce que ce n'est pas vraiment ce qu'il dit. Le document d'index est un nom de nom, pas chemin. Mettez-les où vous en avez besoin, mais de comprendre que, contrairement à l'erreur de documents, ils sont qualifiés/résolu selon le contexte.
OriginalL'auteur Michael - sqlbot
J'ai aussi eu ce problème. Basé sur Michael réponse, j'ai développé ce travail autour de:
Dans le compartiment Amazon S3 propriétés, définissez le Document d'Index: de la valeur à quelque chose d'arbitraire (j'ai utilisé "index.htm' et je n'avais pas index.htm fichier présent dans le répertoire "racine" du seau. Définissez ensuite le message d'Erreur: la valeur à l'endroit où vous souhaitez que l'utilisateur a envoyé à (test_folder/index.html dans votre cas).
Rappelez-vous, un message d'erreur 404 sur votre site seront envoyés à la page spécifiée. Je sais que c'est un horrible contourner, mais il semble fonctionner pour moi. Toutes les autres suggestions bienvenues!
c'est correct, mais vous pouvez utiliser CloudFront pour changer le code d'erreur à 200
c'est aussi vrai que c'est vraiment pas bon pour retourner le mauvais code. Ce commentaire de la mine est assez vieux, et à mon avis, aujourd'hui, serait de vérifier que le document d'erreur est de longueur suffisante pour supprimer toutes les erreurs intégrées, avec un gros bloc de commentaire si nécessaire.
wow, il a travaillé, cheers mate.
OriginalL'auteur Nick
J'ai essayé de faire la même chose (servir les parasites de la s3) et la lecture de ce post m'a fait réaliser que vous devez placer le fichier d'index (par exemple 'index.html') dans le seau à l'extérieur de tous les dossiers.
J'ai eu mon index de document dans un dossier de modèles. J'avais lu la documentation mais j'étais tellement frustré que je ne pouvais pas comprendre ce qu'il a vraiment dit. Parfois, le vraiment des erreurs stupides sont les plus difficiles à résoudre. Espérons que cela aide quelqu'un.
OriginalL'auteur justa_just
essayer de remplir
index.html
dans le "Document d'Index" de la cellule.OriginalL'auteur Joe Cheng
L'autre façon est
Si vous utilisez(ou d'utilisation) cloudfront avec S3, vous pouvez avoir
DefaultRootObject: test_folder/index.html
De cette façon, votre cloudfront url https://yourdomain/ sera de retour test_folder/index.html
OriginalL'auteur Sourabh