Почему смена портов с 80 на 8080 вызывает неожиданные проблемы в WordPress?
Я пытаюсь настроить Varnish, который требует, чтобы Apache слушал на другом порту, отличном от 80, поэтому я выбрал 8080.
Однако WordPress работает очень странно. Главная страница отображается, но она сломана, а все CSS, JS и другие ресурсы показывают ошибки 404.
Это сильно отличается от поведения других сайтов, таких как Drupal или даже статические страницы, где все ссылки и ресурсы автоматически используют порт 8080.
Почему WordPress не следует этим стандартам? Как заставить его "вести себя правильно"? Я читал в интернете, что некоторые решают эту проблему, добавляя :8080 после URL в настройках. Это означает, что мне придется вручную настроить более 50 сайтов WordPress, что кажется не совсем правильным.
Как лучше всего подойти к этой проблеме? Если вы раньше устанавливали Varnish, как вы настроили свои сайты WordPress для корректной работы?
Проблема не в WordPress, а в вашей конфигурации Varnish или Apache.
Статические файлы, такие как CSS, JS, изображения, обрабатываются Apache напрямую, вообще без участия WordPress. WordPress просто использует URL, который вы для него настроили. Ему не важно, какой порт или домен используется.
Итак, если запрос к вашему сайту для получения CSS возвращает ошибку 404, почему так происходит? WordPress тут ни при чём — правила .htaccess, которые использует WP, указывают Apache отдавать существующие файлы напрямую. Исключите WordPress из уравнения и просто разберитесь, почему вы не можете получить CSS-файл по этому URL.

[Я наткнулся на эту ветку, когда искал решение проблемы с WordPress на новом порту. Понял, что речь о Varnish. Моя ошибка.]
У WordPress также возникают проблемы с открытием на новом HTTP-порту.
- XAMPP установлен на локальной машине с настройками по умолчанию... Apache доступен на localhost (80), как и все сайты в htdocs, включая WordPress.
- Пришлось установить Skype, после чего я изменил порт Apache с 80 на 8080.
- Другие сайты работают нормально на localhost с портом 8080, кроме WordPress. Drupal и другие CMS открываются без проблем даже после смены порта.
При попытке доступа к сайтам WordPress по URL localhost:8080 происходит перенаправление на localhost. Браузер возвращает ошибку 404 Not Found.
Почему другие CMS работают корректно после смены порта с 80 на 8080, а WordPress — нет?
Вот рабочее решение:
Экспортируйте базу данных WordPress в формате SQL → Откройте в текстовом редакторе → Найдите и замените все вхождения "localhost" на "localhost:8080" → Импортируйте обратно.
Некоторые посетители утверждают, что им помог этот способ (необходимо изменить siteurl и home в таблице wp_options):
marvintam[dot] com/2009/05/wordpress-on-localhost-port-number/
