Новые мульти-сайтовые редиректы на основной сайт

Вопрос или проблема

Я создал новый мультисайт, и по какой-то причине определенные ссылки перенаправляют на главный сайт. Например, если перейти по ссылке 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, которая перенаправляла запросы на старые архивные ссылки основного сайта. Комментирование этой строки решает проблему, однако это может привести к тому, что некоторые другие ссылки также будут перенаправляться. Вот что можно сделать для окончательного решения проблемы:

  1. Коррекция правил маршрутизации в .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]
  2. Проверка конфигурации 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);
  3. Очистка кэша: После внесения изменений в .htaccess и wp-config.php, обязательно очистите кэш вашего сайта и браузера, чтобы увидеть изменения.

  4. Тестирование: Тщательно протестируйте все ссылки на вашем новом мультисайте, чтобы удостовериться, что перенаправления работают корректно и что пользователи не перенаправляются на основной сайт, когда они посещают архивы или другие страницы.

Следуя этим указаниям, вы сможете устранить проблемные перенаправления и обеспечить правильную работу вашего нового мультисайта. Если проблема сохраняется, возможно, стоит проверить плагины, которые могут также влиять на редиректы.

Оцените материал
Добавить комментарий

Капча загружается...