Вопрос или проблема
Я создал новый мультисайт, и по какой-то причине определенные ссылки перенаправляют на главный сайт. Например, если перейти по ссылке http://team-isagenix.isagenixhealth.net и кликнуть на ссылку октября 2014 года в разделе Архивы, вас перенаправит на главный сайт (isagenixhealth.net), и я не хочу, чтобы этого происходило. Нужно ли мне вносить дополнительные изменения в файл htaccess? Вот код, который у меня есть сейчас: (Также обратите внимание, что у меня есть другие мультисайты на этом аккаунте, которые работают нормально)
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RedirectMatch 301 ^/blog/([0-9]{4})/([0-9]{2})/([0-9]{2})/([^/]+)/$
http://www.isagenixhealth.net/$4
RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/(.*)$ http://www.isagenixhealth.net/$3
RewriteCond %{HTTP_HOST} ^es\.isagenixhealth\.net [NC]
RewriteRule (.*) http://mx.isagenixhealth.net/$1 [L,R=301]
# загруженные файлы
RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule . index.php [L]
А вот часть мультисайта из моего wp-config
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
$base="https://wordpress.stackexchange.com/";
define( 'DOMAIN_CURRENT_SITE', 'isagenixhealth.net' );
define( 'PATH_CURRENT_SITE', "https://wordpress.stackexchange.com/" );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
Я выяснил, что если закомментировать следующую строку в htaccess, это решает проблему.
RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/(.*)$ http://www.isagenixhealth.net/$3
Ответ или решение
Для решения проблемы с перенаправлением ссылок нового мультисайта на основной сайт, обратите внимание на следующие рекомендации.
Проблема, как вы уже выяснили, заключалась в строке RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/(.*)$ http://www.isagenixhealth.net/$3
, которая перенаправляла запросы на старые архивные ссылки основного сайта. Комментирование этой строки решает проблему, однако это может привести к тому, что некоторые другие ссылки также будут перенаправляться. Вот что можно сделать для окончательного решения проблемы:
-
Коррекция правил маршрутизации в
.htaccess
:Необходимо убедиться, что правила переписывания и перенаправления корректно обрабатывают запросы без ненужных перенаправлений. Вы можете оставить только те правила, которые не затрагивают ваши архивные элементы на новом мультисайте. Например:
RewriteEngine On RewriteBase / # Исключить старые перенаправления # RedirectMatch 301 ^/blog/([0-9]{4})/([0-9]{2})/([0-9]{2})/([^/]+)/$ http://www.isagenixhealth.net/$4 # RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/(.*)$ http://www.isagenixhealth.net/$3 # Многоязычное перенаправление для mx RewriteCond %{HTTP_HOST} ^es\.isagenixhealth\.net [NC] RewriteRule (.*) http://mx.isagenixhealth.net/$1 [L,R=301] # Обработка загруженных файлов RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L] # Если запрашиваемый файл или директория существует, возвращаем его RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] # В случае всех остальных запросов перенаправляем на index.php RewriteRule . index.php [L]
-
Проверка конфигурации
wp-config.php
:Проверьте, правильно ли настроены ваши параметры мультисайта. Ваша конфигурация выглядит в целом правильно, однако убедитесь, что путь и домены однозначно указывают на ваши новые сайты. Например:
define('MULTISITE', true); define('SUBDOMAIN_INSTALL', true); $base = '/'; define('DOMAIN_CURRENT_SITE', 'isagenixhealth.net'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1);
-
Очистка кэша: После внесения изменений в
.htaccess
иwp-config.php
, обязательно очистите кэш вашего сайта и браузера, чтобы увидеть изменения. -
Тестирование: Тщательно протестируйте все ссылки на вашем новом мультисайте, чтобы удостовериться, что перенаправления работают корректно и что пользователи не перенаправляются на основной сайт, когда они посещают архивы или другие страницы.
Следуя этим указаниям, вы сможете устранить проблемные перенаправления и обеспечить правильную работу вашего нового мультисайта. Если проблема сохраняется, возможно, стоит проверить плагины, которые могут также влиять на редиректы.