diff --git a/conf/nginx.conf b/conf/nginx.conf index b38620f..93aee15 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -20,8 +20,9 @@ http { # rewrite ^ /posts/ last; # loads "/posts/" # rewrite ^ /posts/ break; # loads "/posts/index.html" rewrite_by_lua_block { + local flag = { ["break"] = false }; -- equivalent to `rewrite ^ /posts/ break;` - ngx.req.set_uri("/posts/", false) + ngx.req.set_uri("/posts/", flag["break"]) } } @@ -32,11 +33,20 @@ http { } location /posts/ { - content_by_lua_block { - require "routes":dispatch() - -- ngx.req.set_uri("/posts/2023-08-03-recursively-list-all-files-in-a-directory-with-elixir.html") - -- ngx.req.set_uri(ngx.var.uri, false) - -- ngx.req.set_uri("/posts/index.html", false) + rewrite_by_lua_block { + local uri = ngx.re.sub(ngx.var.uri, "^/posts/(.*)", "$1", "o") + -- ngx.req.set_uri(uri) + local ext = string.match(uri, "[%w%-%_]+$") + + ngx.say("request path " .. uri) + + if ext == uri then + ngx.say("no extension") + else + ngx.say("extension " .. ext) + end + + ngx.say(ngx.var.uri) } # rewrite ^ /posts/2023-08-03-recursively-list-all-files-in-a-directory-with-elixir.html break;