gohugoio / hugo

The world’s fastest framework for building websites.
https://gohugo.io
Apache License 2.0
73.49k stars 7.37k forks source link

deploy: Add stripIndexHtml target option #12608

Closed depp closed 1 week ago

depp commented 1 week ago

This new configuration parameter causes paths matching "

/index.html" to be stored as "/" remotely. This simplifies the cloud configuration needed for some use cases, such as CloudFront distributions with S3 bucket origins. Before this change, users must configure their S3 buckets as public websites (which is incompatible with certain authentication / authorization schemes), or users must add a CloudFormation function to add index.html to the end of incoming requests. After this change, users can simply use an ordinary CloudFront distribution (no additional code) with an ordinary S3 bucket origin (and not an S3 website).

This adds tests to ensure that functionality like matchers is unaffected by this change. I have also tested that the functionality works as expected when deploying to a real S3 / CloudFront website.

Closes #12607

CLAassistant commented 1 week ago

CLA assistant check
All committers have signed the CLA.

bep commented 1 week ago

Thanks for this, I'm just adding some notes from what I needed to do on one my web sites (to update the documentation later...):

Amazon S3 > Buckets > [Bucket] > Properties > Static website hosting:

image

Cloudflare > Distributions > [ID] > Origins

Edit the origin and select the "non static website" S3 domain:

image

For proper 404 error pages:

CloudFront > Distributions > [ID] > Edit error page response:

image