C.P.
C.P.

Reputation: 1222

Angular 2 application deployed on Amazon s3 gives 404 error

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.enter image description here

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?

Upvotes: 17

Views: 10035

Answers (2)

ANUBHAV GUPTA
ANUBHAV GUPTA

Reputation: 69

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

Upvotes: 0

eheck
eheck

Reputation: 323

We had the same problem. Just go to Properties > Static website hosting.

In the field Error document, add index.html, like here.

Upvotes: 18

Related Questions