Настройте NGinx для работы с одной установкой Wordpress + Wordpress Multisite в подкаталогах - PullRequest
0 голосов
/ 01 октября 2019

У меня есть довольно уникальная установка Wordpress, которая содержит один сайт в корневой папке (обычный сайт) и многосайтовую установку Wordpress, которая находится в папке с именем /u в корневом каталоге. Ранее я использовал Apache для хостинга, и мои htaccess файлы выглядели так:

Main (один сайт / корень):

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  Redirect /login /u/login
  Redirect /register /u/register
  Redirect /link /u/link
  Redirect /link-tv /u/link-tv
  Redirect /wp-login.php /u/wp-login.php
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Мультисайт (папка / u):

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /u/
    RewriteRule ^(([_0-9a-zA-Z-]+/)?)postpass/?$ /u/wp-login.php?action=postpass [QSA,L]
    RewriteRule ^(([_0-9a-zA-Z-]+/)?)logout/?$ /u/wp-login.php?action=logout [QSA,L]
    RewriteRule ^(([_0-9a-zA-Z-]+/)?)lostpassword/?$ /u/wp-login.php?action=lostpassword [QSA,L]
    RewriteRule ^(([_0-9a-zA-Z-]+/)?)resetpassword/?$ /u/wp-login.php?action=resetpass [QSA,L]
    RewriteRule ^(([_0-9a-zA-Z-]+/)?)signup/?$ /u/wp-login.php?action=register [QSA,L]
    RewriteRule ^(([_0-9a-zA-Z-]+/)?)login/?$ /u/wp-login.php [QSA,L]
    RewriteRule ^(([_0-9a-zA-Z-]+/)?)dashboard/?$ /u/wp-login.php [QSA,L]
</IfModule>


RewriteEngine On
RewriteBase /u
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

Это отлично сработало с Apache, но теперь я перехожу на более качественный сервер и переключаюсь на NGinx для повышения производительности.

Итак, я хочу обслуживать обычный Wordpressсайт в корне, но переместите логин, зарегистрируйтесь для перенаправления на мультисайт /u.

Я также хочу настроить NGinx для мультисайта Wordpress, но для папки /u, которая использует подкаталоги для своих мультисайтов (не поддоменов). Я читал об этом здесь https://wordpress.org/support/article/nginx/ Но я понятия не имею, как это сделать с моей очень конкретной установкой.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...