status.site.example { root * /home/USERNAME/status.site.example/public @slash { path_regexp slash /$ } @jsonld { path_regexp jsonld \.jsonld$ } @bare { not path_regexp /$ not path_regexp \.jsonld$ } @empty { expression {re.matcher.suffix} == "" } handle /about { rewrite * /.about.html header Link ;rel=meta;type="application/ld+json" } redir /about/ /about rewrite /about.jsonld /about/index.jsonld handle /statuses { rewrite * /.statuses.html header Link ;rel=meta;type="application/ld+json" } @statusroot { path_regexp matcher ^/statuses/(?P.*) not path_regexp ^/statuses/index\. } handle @statusroot { handle /statuses/ { redir * /statuses } handle { redir * /{re.matcher.path} } } rewrite /statuses.jsonld /statuses/index.jsonld @dated { path_regexp matcher ^/(?P\d{4}-\d{2})(?P/[^/.]+)?(?:\..*|/)?$ } handle @dated { handle @empty { handle @bare { rewrite * /.topic.html header Link ;rel=meta;type="application/ld+json" } handle @slash { redir * /{re.matcher.ym} } handle @jsonld { rewrite * /{re.matcher.ym}/index.jsonld } } handle { handle @bare { rewrite * /.status.html header Link ;rel=meta;type="application/ld+json" } handle @slash { redir * /{re.matcher.ym}{re.matcher.suffix} } } } handle /topics { rewrite * /.topics.html header Link ;rel=meta;type="application/ld+json" } redir /topics/ /topics rewrite /topics.jsonld /topics/index.jsonld @topics { path_regexp matcher ^/(?:topics/(?P[0-9A-Za-z_-]+))(?P/[^/.]+)?(?:\..*|/)?$ not path_regexp ^/topics/index[/.]? } handle @topics { handle @empty { handle @bare { rewrite * /.topic.html header Link ;rel=meta;type="application/ld+json" } handle @slash { redir * /topics/{re.matcher.topic} } handle @jsonld { rewrite * /topics/{re.matcher.topic}/index.jsonld } } handle { handle @bare { rewrite * /.status.html header Link ;rel=meta;type="application/ld+json" } handle @slash { redir * /topics/{re.matcher.topic}{re.matcher.suffix} } } } header Access-Control-Allow-Origin "*" file_server { index index.xml index.xhtml index.html index.rdf index.txt } }