WordPress для нескольких сайтов: перенаправить старый URL-адрес сайта - PullRequest
0 голосов
/ 11 марта 2019

У меня многосайтовая установка WordPress с одним сайтом, URL которого изменился с ppsdb.ppsri.org на guide.ppsri.org.Я обновил базу данных, чтобы отразить это, и новый URL работает нормально.Но я бы хотел, чтобы все посетители старого URL были перенаправлены на новый.Я попытался добавить перенаправления 301 в .htaccess, но они, похоже, не работают:

RewriteRule ^ppsdb.ppsri.org/(.*)$ guide.ppsri.org/$1 [R=301,NC,L]

Посещение ppsdb.ppsri.org просто приводит меня к регистрации нового сайта в сети: http://ppsri.org/wp-signup.php?new=ppsdb

Вот мои полные .htaccess:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

# redirect old Guide url traffic
RewriteRule ^ppsdb.ppsri.org/(.*)$ guide.ppsri.org/$1 [R=301,NC,L]

</IfModule>

# END WordPress

Как мне получить старый URL для пересылки на новый?

1 Ответ

1 голос
/ 12 марта 2019

Обновление: я смог заставить его работать, добавив в начало моего .htaccess (до всего остального) следующее:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ppsdb\.ppsri\.org$
RewriteRule ^(.*)$ http://guide.ppsri.org/$1 [R=301,L]
</IfModule>

Таким образом, полное значение .htaccess равно:

# redirect old Guide url traffic
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ppsdb\.ppsri\.org$
RewriteRule ^(.*)$ http://guide.ppsri.org/$1 [R=301,L]
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

</IfModule>

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