I have deployed my Angular2 application on Amazon S3 successfully. It works fine. All routing works fine when I navigate using routeLinks/code.
But when I refresh the page, or jump to particular route, I get 404 error as follows.
The thing is, we know we have dynamic routes in Angular2. There is no physical directory with that path/route name in final code base deployed/stored in S3 bucket. But, I think S3 considers it as physical object stored in S3 bucket, which it fails to fetch.
How to resolve this issue?
We had the same problem. Just go to Properties > Static website hosting.
In the field Error document, add index.html, like here .
If you are using AWS cli to copy dist folder to your bucket then it copies the project folder to your bucket which contains your files including index.html
.
Try uploading contents of dist/< your_project>/
directly to your bucket. It worked for me.
I think S3 is expecting an index.html
file at its root level
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.