J'ai deux applications web statiques (create-react-apps) qui sont actuellement dans deux buckets S3 séparés. Les deux buckets sont configurés pour la lecture publique + l'hébergement web statique, et la visite de leurs URLs hébergées sur S3 affiche correctement les sites.
Bucket 1 - First App:
index.html
static/js/main.js
Bucket 2 - Second App:
/secondapp/
index.html
static/js/main.js
J'ai mis en place un seul Cloudfront pour cela - L'origine par défaut du Cloudfront se charge FirstApp
de manière à ce que www.mywebsite.com charge le fichier index.html par défaut.
Pour les SecondApp
J'ai configuré un comportement de mise en cache de sorte que le modèle de chemin secondapp/*
pointe vers l'URL du seau SecondApp.
Dans mon navigateur, lorsque je visite www.mywebsite.com/secondapp/
il affiche correctement la deuxième application web.
Cependant, si j'omets la barre oblique finale, je vois la première application, ce qui n'est pas souhaitable. Si je visite www.mywebsite.com/secondapp/something
Je suis également informé de la première application, ce qui n'est pas non plus souhaitable. (Je veux qu'elle charge le fichier .html de secondapp
)
Les deux applications sont configurées pour utiliser html5 push state via react-router-dom.
Ce que je souhaite, c'est que la visite du site suivant affiche le bon site/bouquet :
www.mywebsite.com
- En cours de travail
www.mywebsite.com/secondapp/
- En cours de travail
www.mywebsite.com/secondapp
- (Sans barre oblique) Ne fonctionne pas, affiche Première application
www.mywebsite.com/secondapp/something_else
- Ne fonctionne pas, montre First App
Comment puis-je obtenir le comportement souhaité ?
Merci de votre attention !