Настройка nginx для WordPress Multisite на подпапках (sub folders)

Настройка nginx для WordPress Multisite на подпапках (sub folders)

У WordPress есть опция Multisite, которая позволяет в рамках одного движка управлять множеством сайтов.

У нее в свою очередь есть опция работы с сайтами через поддомены или подпапки. Например: wpcraft.ru/site1, wpcraft.ru/site2 или site1.wpcraft.ru, site2.wpcraft.ru.

При работе с поддоменами — особо ничего делать не надо. Типовые конфиги nginx работают хорошо.

А вот когда надо работать с подпапками — тут все очень странно. Найти рабочий конфиг сложно. Интернет завален устаревшими конфигами, которые не работают.

В общем перебрав кучу вариантов, рабочим оказался такой:

if (!-e $request_filename) {
  rewrite /wp-admin$ $scheme://$host$uri/ permanent;
  rewrite ^(/[^/]+)?(/wp-.*) $2 last;
  rewrite ^(/[^/]+)?(/.*.php) $2 last;
}

Вставляется примерно так:

Источник: https://wpcraft.ru/2019/nastrojka-nginx-dlya-wordpress-multisite-na-podpapkah-sub-folders/