diff --git a/roles/archmanweb/templates/nginx.d.conf.j2 b/roles/archmanweb/templates/nginx.d.conf.j2
index f373771e6fa039474422518bae982b83c486f911..dafa9bf6cff0324917c09a5b04c510b9abbcc77e 100644
--- a/roles/archmanweb/templates/nginx.d.conf.j2
+++ b/roles/archmanweb/templates/nginx.d.conf.j2
@@ -30,16 +30,16 @@ server {
     ssl_certificate_key  /etc/letsencrypt/live/{{ archmanweb_domain }}/privkey.pem;
     ssl_trusted_certificate /etc/letsencrypt/live/{{ archmanweb_domain }}/chain.pem;
 
-    location /favicon.ico {
+    location = /favicon.ico {
         alias {{ archmanweb_dir }}/repo/collected_static/favicon.ico;
     }
 
     # Client-cache for Django's static assets
-    location /static {
+    location /static/ {
         expires 30d;
         add_header Pragma public;
         add_header Cache-Control "public";
-        alias {{ archmanweb_dir }}/repo/collected_static;
+        alias {{ archmanweb_dir }}/repo/collected_static/;
     }
 
     location / {
diff --git a/roles/archweb/defaults/main.yml b/roles/archweb/defaults/main.yml
index 6894e0c56c3d482d8a9f5488f88605f827d74fc7..d61e87cc65b124c90cc78d3b019361d9a4ff731e 100644
--- a/roles/archweb/defaults/main.yml
+++ b/roles/archweb/defaults/main.yml
@@ -44,5 +44,5 @@ archweb_db_backup_table_objs: 'ALL_IN_SCHEMA'
 archweb_db_backup_sequence_objs: 'ALL_IN_SCHEMA'
 
 archweb_retro_repository: 'https://gitlab.archlinux.org/archlinux/archweb-retro.git'
-archweb_retro_dir: '/srv/http/archweb-retro'
+archweb_retro_dir: '/srv/http/archweb-retro/'
 archweb_retro_commit_hash: '7eee8e20d3970c7c21ecef7ae8c9032e4b4a6d79'
diff --git a/roles/archweb/templates/maintenance-nginx.d.conf.j2 b/roles/archweb/templates/maintenance-nginx.d.conf.j2
index bd9dc8f8e12514c21a791d80c9c2dc3969a7d501..cb4a0f5cfaecb4ffd5665a2d83c34bbfaed98e4c 100644
--- a/roles/archweb/templates/maintenance-nginx.d.conf.j2
+++ b/roles/archweb/templates/maintenance-nginx.d.conf.j2
@@ -85,35 +85,35 @@ server {
         return 200 '{"m.homeserver": {"base_url": "https://{{ matrix_domain }}"}, "m.identity_server": {"base_url": "https://matrix.org"} }';
     }
 
-    location /robots.txt {
+    location = /robots.txt {
         alias {{ archweb_dir }}/archlinux.org/robots.txt;
     }
 
-    location /humans.txt {
+    location = /humans.txt {
         alias {{ archweb_dir }}/archlinux.org/humans.txt;
     }
 
-    location /google7827eadf026b4a87.html {
+    location = /google7827eadf026b4a87.html {
         alias {{ archweb_dir }}/archlinux.org/google7827eadf026b4a87.html;
     }
 
-    location /BingSiteAuth.xml {
+    location = /BingSiteAuth.xml {
         alias {{ archweb_dir }}/archlinux.org/BingSiteAuth.xml;
     }
 
-    location /favicon.ico {
+    location = /favicon.ico {
         alias {{ archweb_dir }}/collected_static/favicon.ico;
     }
 
-    location /pacman {
+    location /pacman/ {
         alias {{ archweb_dir }}/archlinux.org/pacman/;
     }
 
-    location /netcfg {
+    location /netcfg/ {
         alias {{ archweb_dir }}/archlinux.org/netcfg/;
     }
 
-    location /logos {
+    location /logos/ {
         alias {{ archweb_dir }}/archlinux.org/logos/;
     }
 
@@ -121,23 +121,23 @@ server {
         deny all;
     }
 
-    location /iso {
+    location /iso/ {
         alias {{ archweb_rsync_iso_dir }};
     }
 
     # Cache django's css, js and png files.
-    location /static {
+    location /static/ {
         expires 30d;
         add_header Pragma public;
         add_header Cache-Control "public";
-        alias {{ archweb_dir }}/collected_static;
+        alias {{ archweb_dir }}/collected_static/;
     }
 
-    location /img {
-        alias {{ archweb_dir }}/media/img;
+    location /img/ {
+        alias {{ archweb_dir }}/media/img/;
     }
 
-    location /retro {
+    location /retro/ {
         alias {{ archweb_retro_dir }};
     }
 
diff --git a/roles/archweb/templates/nginx.d.conf.j2 b/roles/archweb/templates/nginx.d.conf.j2
index dfae852120ea0d612e9760ab3fe047048e40a185..b03f7edfba2d49ae9189ecb097187f3914636069 100644
--- a/roles/archweb/templates/nginx.d.conf.j2
+++ b/roles/archweb/templates/nginx.d.conf.j2
@@ -106,35 +106,35 @@ server {
         return 200 '{"m.homeserver": {"base_url": "https://{{ matrix_domain }}"}, "m.identity_server": {"base_url": "https://matrix.org"} }';
     }
 
-    location /robots.txt {
+    location = /robots.txt {
         alias {{ archweb_dir }}/archlinux.org/robots.txt;
     }
 
-    location /humans.txt {
+    location = /humans.txt {
         alias {{ archweb_dir }}/archlinux.org/humans.txt;
     }
 
-    location /google7827eadf026b4a87.html {
+    location = /google7827eadf026b4a87.html {
         alias {{ archweb_dir }}/archlinux.org/google7827eadf026b4a87.html;
     }
 
-    location /BingSiteAuth.xml {
+    location = /BingSiteAuth.xml {
         alias {{ archweb_dir }}/archlinux.org/BingSiteAuth.xml;
     }
 
-    location /favicon.ico {
+    location = /favicon.ico {
         alias {{ archweb_dir }}/collected_static/favicon.ico;
     }
 
-    location /pacman {
+    location /pacman/ {
         alias {{ archweb_dir }}/archlinux.org/pacman/;
     }
 
-    location /netcfg {
+    location /netcfg/ {
         alias {{ archweb_dir }}/archlinux.org/netcfg/;
     }
 
-    location /logos {
+    location /logos/ {
         alias {{ archweb_dir }}/archlinux.org/logos/;
     }
 
@@ -142,23 +142,23 @@ server {
         deny all;
     }
 
-    location /iso {
+    location /iso/ {
         alias {{ archweb_rsync_iso_dir }};
     }
 
     # Cache django's css, js and png files.
-    location /static {
+    location /static/ {
         expires 30d;
         add_header Pragma public;
         add_header Cache-Control "public";
-        alias {{ archweb_dir }}/collected_static;
+        alias {{ archweb_dir }}/collected_static/;
     }
 
-    location /img {
-        alias {{ archweb_dir }}/media/img;
+    location /img/ {
+        alias {{ archweb_dir }}/media/img/;
     }
 
-    location /retro {
+    location /retro/ {
         alias {{ archweb_retro_dir }};
     }
 
diff --git a/roles/archwiki/templates/nginx.d.conf.j2 b/roles/archwiki/templates/nginx.d.conf.j2
index c2fb7e0521a7274314461fc1c85e5b2bad50303a..c2ab18c585d46816a095e682d27f3ecf5324cee2 100644
--- a/roles/archwiki/templates/nginx.d.conf.j2
+++ b/roles/archwiki/templates/nginx.d.conf.j2
@@ -41,7 +41,7 @@ server {
         return 403;
     }
 
-    location /robots.txt {
+    location = /robots.txt {
         alias {{ archwiki_dir }}/robots.txt;
     }
 
diff --git a/roles/patchwork/templates/nginx.d.conf.j2 b/roles/patchwork/templates/nginx.d.conf.j2
index 5c9e783f74805745ff61c88c33079386f7cd7059..e4e8e336096ffab8dcdfc565ca7a4d19a1f5ec9f 100644
--- a/roles/patchwork/templates/nginx.d.conf.j2
+++ b/roles/patchwork/templates/nginx.d.conf.j2
@@ -30,8 +30,8 @@ server {
     ssl_certificate_key  /etc/letsencrypt/live/{{ patchwork_domain }}/privkey.pem;
     ssl_trusted_certificate /etc/letsencrypt/live/{{ patchwork_domain }}/chain.pem;
 
-    location /static {
-        alias {{ patchwork_dir }}/htdocs/static;
+    location /static/ {
+        alias {{ patchwork_dir }}/htdocs/static/;
     }
 
     location / {
diff --git a/roles/security_tracker/templates/nginx.d.conf.j2 b/roles/security_tracker/templates/nginx.d.conf.j2
index cfdd872671faa461fb4e10921e9c30b42b6571bd..fb5dafaf434127982384d099e8f47dfe1f99b4e8 100644
--- a/roles/security_tracker/templates/nginx.d.conf.j2
+++ b/roles/security_tracker/templates/nginx.d.conf.j2
@@ -30,13 +30,13 @@ server {
     ssl_certificate_key  /etc/letsencrypt/live/{{ security_tracker_domain }}/privkey.pem;
     ssl_trusted_certificate /etc/letsencrypt/live/{{ security_tracker_domain }}/chain.pem;
 
-    location /google9fb65bdd43709b25.html {
+    location = /google9fb65bdd43709b25.html {
         # verification code for anthraxx
         return 200 "google-site-verification: google9fb65bdd43709b25.html";
     }
 
-    location /static {
-        alias {{ security_tracker_dir }}/tracker/static;
+    location /static/ {
+        alias {{ security_tracker_dir }}/tracker/static/;
     }
 
     location / {