我有两个静态网络应用程序(create-react-apps),目前在两个独立的S3存储桶中 . 两个存储桶都配置为公共读取静态Web托管,并且访问其S3托管URL正确显示网站 .
Bucket 1 - First App:
index.html
static/js/main.js
Bucket 2 - Second App:
/secondapp/
index.html
static/js/main.js
我为此设置了一个Cloudfront - 默认的cloudfront origin正确加载 FirstApp
,这样www.mywebsite.com默认加载index.html .
对于 SecondApp
,我设置了一个缓存行为,以便路径模式 secondapp/*
指向SecondApp存储桶URL .
在我的浏览器中,当我访问 www.mywebsite.com/secondapp/
时,它正确显示第二个Web应用程序 .
但是,如果我省略了尾部斜杠,我会看到第一个应用程序,这是不受欢迎的 . 如果我访问 www.mywebsite.com/secondapp/something
,我也会看到第一个应用程序,这也是不受欢迎的 . (我希望它加载 secondapp
的.html)
这两个应用程序都配置为通过react-router-dom使用html5推送状态 .
我希望的行为是访问以下内容显示正确的站点/存储桶:
www.mywebsite.com
- 目前正在工作
www.mywebsite.com/secondapp/
- 目前正在工作
www.mywebsite.com/secondapp
- (没有尾随斜杠)不工作,显示First App
www.mywebsite.com/secondapp/something_else
- 不工作,显示First App
我怎样才能达到预期的行为?
谢谢!