Почему после добавления нескольких сайтов в WordPress с использованием Nginx, все последующие сайты начинают перенаправлять на первый?

Здравствуйте. Опишите, пожалуйста, проблему, с которой вы столкнулись, более подробно. Подтвердите, что после добавления второго сайта, происходит редирект на первый сайт через несколько минут, даже после сноса базы данных и файлов второго сайта.
  • 4 февраля 2024 г. 17:58
Ответы на вопрос 2
Здравствуйте. Тот факт, что все последующие сайты перенаправляют на первый после установки в WordPress с использованием Nginx, обычно указывает на проблему с конфигурацией Nginx.

Вероятные причины могут включать в себя:

1. Дефолтный сервер: В конфигурации Nginx может быть указано, что первый сайт является 'дефолтным' сервером для прослушиваемого IP-адреса и порта. Если Nginx не может соотнести входящий запрос к какому-либо из доступных server блоков, он перенаправляет запрос на дефолтный сервер.

2. Проблема конфигурации server_name: В каждом блоке server для разных сайтов должно быть указано правильное поле `server_name`, которое соответствует доменному имени сайта. Если Nginx видит запросы для доменных имен, которые не указаны в конфигурации, он может также перенаправить эти запросы на дефолтный сайт.

3. Проблема с DNS: Возможно, что DNS для новых доменных имен ещё не распространился или неправильно настроен, и все имена разрешаются в IP первого сайта.

4. Символические ссылки: Если вы используете символические ссылки для активации сайтов в Nginx (обычно создавая ссылку из каталога `sites-available` в `sites-enabled`), возможно, что символические ссылки неправильные или отсутствуют.

5. Проблема кэширования: Иногда браузеры или промежуточные прокси кэшируют 301/302 редиректы, так что даже после изменения конфигурации вы все еще видите редиректы. Очистите кэш браузера и кэш на промежуточных серверах, если таковые имеются.

Чтобы устранить проблему, выполните следующие шаги:

1. Проверьте конфигурационные файлы Nginx на предмет наличия правильных server_name записей для каждого сайта. Также убедитесь, что не используется директива `default_server` неправильно.

2. Перезагрузите или перезапустите Nginx после внесения изменений в конфигурацию для их применения.

3. Проверьте DNS записи каждого доменного имени, чтобы убедиться, что они указывают на правильный IP-адрес сервера.

4. Используйте инструменты, такие как `curl -I yourdomain.com`, чтобы проверить, какие заголовки возвращает ваш сервер, и убедиться в отсутствии непредвиденных редиректов.

5. Очистите кэш браузера или попробуйте открыть сайт в режиме инкогнито, чтобы проверить, не затрагивает ли ваша проблема кэширование.
Для каждого сайта у вас должен быть отдельный конфиг в папке sites-enabled 
например site1.conf, site2.conf, site3.conf
в каждом таком конфиге для каждого сайта должен быть указан домен сайта:
server_name site1.ru www.site1.ru;
и путь до корня root /home/web/site1.ru;
Подключение суперкеша закомментируйте на время настройки. Как только все сайты будут настроены и будут работать подключите конфиг суперкеша.
Похожие вопросы