diff --git a/server.js b/server.js index 2bc21eb..d380db4 100644 --- a/server.js +++ b/server.js @@ -1009,7 +1009,9 @@ function serveMemberPage(req,res,file,kind,id){ const server=http.createServer(async(req,res)=>{ try{ const u=new URL(req.url,`http://${req.headers.host||'localhost'}`),pathname=decodeURIComponent(u.pathname); - if(pathname==='/health'||pathname.startsWith('/api/'))return await handleApi(req,res,pathname); + // /p/ = member Page Builder pages: dynamic HTML, so it must reach the + // API handler rather than the static-file path (which 404s it). + if(pathname==='/health'||pathname.startsWith('/api/')||/^\/p\/\d{1,15}$/.test(pathname))return await handleApi(req,res,pathname); if(req.method!=='GET'&&req.method!=='HEAD')return send(res,405,'Method Not Allowed',{'Content-Type':'text/plain; charset=utf-8'}); // Members-area gate: the Circle Method lessons 2-10 + the e-gift cash-out // walkthrough are the PRODUCT — their video FILES require a wallet-verified