R2 Static web hosting rules

hello, I have a SSG site uploaded to public r2 bucket pointing v2.priyashpatil.com. After a while I figured a way to get it working but it requires two rules. Here's the folder SSG structure looks like:
| __ index.html
| __ contact
| __ __ index.html
| __ index.html
| __ contact
| __ __ index.html
and i have two rules: First:
(http.host eq "v2.priyashpatil.com" and not ends_with(http.request.uri.path, "/") and not http.request.uri.path contains "." and not http.request.uri.path contains "__manifest")
(http.host eq "v2.priyashpatil.com" and not ends_with(http.request.uri.path, "/") and not http.request.uri.path contains "." and not http.request.uri.path contains "__manifest")
and dynamic rewrite:
concat(http.request.uri.path, "/index.html")
concat(http.request.uri.path, "/index.html")
Second:
(http.host eq "v2.priyashpatil.com" and ends_with(http.request.uri.path, "/") and not http.request.uri.path contains "." and not http.request.uri.path contains "__manifest")
(http.host eq "v2.priyashpatil.com" and ends_with(http.request.uri.path, "/") and not http.request.uri.path contains "." and not http.request.uri.path contains "__manifest")
and dynamic rewrite:
concat(http.request.uri.path, "index.html")
concat(http.request.uri.path, "index.html")
Notice both rules are almost identical except i had to do this because "/". I tried path matching */* but it doesn't capture the url without tailing "/". So the urls v2.priyashpatil.com and v2.priyashpatil.com/contact/ would work but url v2.priyashpatil.com/contact doesnt work. So I had to do this two rules trick here. Now is there any way to make it into one rule?
2 Replies
Priyash
PriyashOP2mo ago
Medium
How to replicate Amazon S3 Static website hosting behaviour with R2...
Migrate from Amazon S3 to Cloudflare R2, save $$$ on static hosting! Follow our step-by-step guide & optimize your site today…
Priyash
PriyashOP2mo ago
This might be it. But still two rules

Did you find this page helpful?