nginx: map по $uri (декодированному) для cyrillic legacy-slugs
Some checks failed
deploy / deploy (push) Failing after 9s

This commit is contained in:
striker
2026-05-21 03:25:34 +03:00
parent 5dddb68803
commit 0e758f3a1a

View File

@@ -3,8 +3,9 @@
# v2 cutover: 2026-05-21 (старый WP на :4143 оставлен в /opt/docker/sites/pushkinohistory-ru как backup для отката) # v2 cutover: 2026-05-21 (старый WP на :4143 оставлен в /opt/docker/sites/pushkinohistory-ru как backup для отката)
# 301-редиректы со старых URL-encoded WP-cyrillic slugs на новые транслитерированные. # 301-редиректы со старых URL-encoded WP-cyrillic slugs на новые транслитерированные.
# nginx URL-декодирует $request_uri до cyrillic, поэтому в ключах map'а — кириллица в UTF-8. # $uri — URL-декодированный путь (UTF-8 cyrillic). $request_uri сохраняет percent-encoding,
map $request_uri $legacy_redirect { # поэтому для cyrillic-slugs нужен именно $uri.
map $uri $legacy_redirect {
default ""; default "";
~^/добро-пожаловать/?$ /dobro-pozhalovat/; ~^/добро-пожаловать/?$ /dobro-pozhalovat/;
~^/фото/?$ /foto/; ~^/фото/?$ /foto/;
@@ -13,7 +14,6 @@ map $request_uri $legacy_redirect {
# WP feed → новый Astro feed # WP feed → новый Astro feed
~^/feed/?$ /feed.xml; ~^/feed/?$ /feed.xml;
~^/feed/rss2/?$ /feed.xml; ~^/feed/rss2/?$ /feed.xml;
~^/\?feed=rss2$ /feed.xml;
} }
server { server {