Вопрос или проблема
У меня есть сайт на WordPress, который работал на тестовом сервере на порту 8082. После того как мы решили, что сайт завершен, мы перенесли его на другой сервер. Однако нечто на сайте перенаправляет на 8082, несмотря на то, что конфигурация nginx указывает на 80. Это безумие. Я пытался указать на другой порт, например, 8085, но он все равно возвращается на 8082 и выдает тайм-аут, потому что nginx не настроен на этом порт. Это чистая установка WP с одной из стандартных тем, и плагинов нет.
Я также пытался внести следующие изменения в wp-config.php
define('WP_HOME', 'http://example.name');
define('WP_SITEURL', 'http://example.name');
И изменил поля siteurl
и home
в таблице wp_options
, но сайт все равно перенаправляет на порт 8082
Есть какие-нибудь предложения?
Вы можете ознакомиться с моим ответом здесь:
Stackechange перенаправляет все страницы с нового домена на старый домен
В противном случае проверьте и файлы .htaccess
Ответ или решение
Проблема, с которой вы столкнулись, связана с перенаправлением вашего сайта WordPress на порт 8082, несмотря на то что Nginx настроен на работу с портом 80. Давайте рассмотрим возможные причины этой проблемы и способы её решения.
1. Проверьте настройки Nginx
Убедитесь, что в конфигурации Nginx указаны правильные параметры для вашего веб-приложения. Проверьте файл конфигурации (обычно находится в /etc/nginx/sites-available/
) на наличие строк, которые могли бы перенаправлять на 8082. Пример базовой конфигурации может выглядеть так:
server {
listen 80;
server_name example.name;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # Убедитесь, что версия PHP верна
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
2. Проверьте файл wp-config.php
Вы уже внесли изменения в wp-config.php
, но стоит еще раз убедиться в их корректности. Убедитесь, что ваши определения выглядят следующим образом:
define('WP_HOME', 'http://example.name');
define('WP_SITEURL', 'http://example.name');
Если сервер использует HTTPS, убедитесь, что URL начинается с https://
. Также проверьте, чтобы перед этими строками не было лишних пробелов или символов.
3. Проверьте базу данных
Вы упомянули, что изменили значения в таблице wp_options
, что правильно. Однако необходимо убедиться, что вы изменили именно те значения, которые в последствии могут вызывать конфликты. Проверьте, установлены ли значения home
и siteurl
на http://example.name
. Используйте такой запрос:
SELECT option_name, option_value FROM wp_options WHERE option_name IN ('home', 'siteurl');
Если изменения были успешно внесены, а проблема сохраняется, возможно, в базе данных остались устаревшие или неверные записи.
4. Проверьте файл .htaccess
(если используется)
Хотя Nginx не использует .htaccess
, если в вашем сервере настроены какие-либо перенаправления через Apache, это может оставить следы. Проверьте, существуют ли конфигурации для перенаправления на конкретный порт.
Пример пересмотра:
RewriteEngine On
RewriteRule ^(.*)$ http://example.name:8082/$1 [R=301,L]
5. Очистите кеш
Если ваш сайт использует кеширование (например, через CDN или плагины для кеширования), то стоит удалить все кешированные данные. Возможно, сохранён кеш, который ведёт к перенаправлению на порт 8082.
6. Проверьте файлы сервера
Если все остальные меры не помогли, попробуйте выполнить поиск по всему коду вашего сайта для строк, содержащих 8082
. Возможно, где-то в коде присутствует жёсткое кодирование этого порта. Для этого можно использовать команду поиска по всем файлам:
grep -rnw '/path/to/your/wordpress/dir/' -e '8082'
Заключение
Решение проблемы перенаправления на порт 8082 может потребовать внимательного анализа настроек сервера, базы данных и конфигураций WordPress. Проверьте все указанные выше пункты, и ваша проблема должна быть успешно решена. Если же проблема по-прежнему сохраняется, возможно, стоит обратиться за помощью к специалисту или сообществу WordPress для более детальной диагностики.