From 4ddf27caafbe7932e5f58fb23c2d5917271a3400 Mon Sep 17 00:00:00 2001 From: builder-2 Date: Tue, 2 Jun 2026 12:41:40 +0000 Subject: [PATCH] fix(nginx): return 404 for non-existent articles/ and sections/ paths Previously nginx try_files fell back to /index.html for any unmatched path, which meant orphaned article variants (old slug directories) returned HTTP 200 with the homepage content. This caused ~1,150 orphaned pages to be crawlable. Add explicit location blocks for /articles/ and /sections/ that use =404 instead of falling back to /index.html. --- Dockerfile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 581f198..e7e8683 100644 --- a/Dockerfile +++ b/Dockerfile @@ -32,7 +32,13 @@ RUN echo 'server { \ location / { \ try_files $uri $uri/ /index.html; \ } \ - location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot|webp|avif)$ { \ + location /articles/ { \ + try_files $uri $uri/ =404; \ + } \ + location /sections/ { \ + try_files $uri $uri/ =404; \ + } \ + location ~* \\.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot|webp|avif)$ { \ expires 1y; \ add_header Cache-Control "public, immutable"; \ } \