"kind" : "cloudflare::Ruleset" ,
"id" : "rewrite-rules-prd" ,
"fqn" : "prd/rewrite-rules-prd" ,
"Symbol(alchemy::ResourceKind)" : "cloudflare::Ruleset" ,
"Symbol(alchemy::ResourceID)" : "rewrite-rules-prd" ,
"Symbol(alchemy::ResourceFQN)" : "prd/rewrite-rules-prd" ,
"Symbol(alchemy::ResourceScope)" : {
"Symbol(alchemy::ResourceSeq)" : 3 ,
"id" : "9aedcf431d7f4e66b68d6091436fa05c" ,
"zoneId" : "e95a5d8957b75859c814579deebfce33" ,
"phase" : "http_request_transform" ,
"expression" : "concat(http.request.uri.path, \" index.html \" )"
"description" : "Rewrite trailing slash to index.html" ,
"expression" : "(ends_with(http.request.uri.path, \" / \" ) and http.host eq \" pyrossh.dev \" )" ,
"id" : "6f422284b559416c8fdaff9fe7729dcf" ,
"last_updated" : "2026-05-15T05:38:13.541986Z" ,
"ref" : "6f422284b559416c8fdaff9fe7729dcf" ,
"expression" : "concat(http.request.uri.path, \" /index.html \" )"
"description" : "Rewrite non-file paths to path/index.html" ,
"expression" : "(not ends_with(http.request.uri.path, \" / \" ) and not http.request.uri.path contains \" . \" and http.host eq \" pyrossh.dev \" )" ,
"id" : "8534474241ca4d52bf74a6a079acb52d" ,
"last_updated" : "2026-05-15T05:38:13.541986Z" ,
"ref" : "8534474241ca4d52bf74a6a079acb52d" ,
"expression" : "concat(http.request.uri.path, \" /index.html \" )"
"description" : "Rewrite /files/ paths with extension to append /index.html" ,
"expression" : "(http.request.uri.path contains \" /files/ \" and http.request.uri.path contains \" . \" and not ends_with(http.request.uri.path, \" / \" ) and http.host eq \" pyrossh.dev \" )" ,
"id" : "c0458fba18a54f998295b3bc7d34b5f6" ,
"last_updated" : "2026-05-15T05:38:13.541986Z" ,
"ref" : "c0458fba18a54f998295b3bc7d34b5f6" ,
"lastUpdated" : "2026-05-15T05:38:13.541986Z" ,
"Symbol(alchemy::ResourceKind)" : "cloudflare::Zone" ,
"Symbol(alchemy::ResourceID)" : "zone-prd" ,
"Symbol(alchemy::ResourceFQN)" : "prd/zone-prd" ,
"Symbol(alchemy::ResourceScope)" : {
"Symbol(alchemy::ResourceSeq)" : 0 ,
"id" : "e95a5d8957b75859c814579deebfce33" ,
"accountId" : "dfdb8ca4e419990852eb214c5b50bd5e" ,
"glen.ns.cloudflare.com" ,
"ns-1888.awsdns-44.co.uk" ,
"createdAt" : 1778414069223 ,
"modifiedAt" : 1778414069223 ,
"automaticHttpsRewrites" : "on" ,
"emailObfuscation" : "on" ,
"browserCacheTtl" : 14400 ,
"developmentMode" : "off" ,
"hotlinkProtection" : "off" ,
"phase" : "http_request_transform" ,
"description" : "Rewrite trailing slash to index.html" ,
"expression" : "(ends_with(http.request.uri.path, \" / \" ) and http.host eq \" pyrossh.dev \" )" ,
"expression" : "concat(http.request.uri.path, \" index.html \" )"
"description" : "Rewrite non-file paths to path/index.html" ,
"expression" : "(not ends_with(http.request.uri.path, \" / \" ) and not http.request.uri.path contains \" . \" and http.host eq \" pyrossh.dev \" )" ,
"expression" : "concat(http.request.uri.path, \" /index.html \" )"
"description" : "Rewrite /files/ paths with extension to append /index.html" ,
"expression" : "(http.request.uri.path contains \" /files/ \" and http.request.uri.path contains \" . \" and not ends_with(http.request.uri.path, \" / \" ) and http.host eq \" pyrossh.dev \" )" ,
"expression" : "concat(http.request.uri.path, \" /index.html \" )"