Почему смена портов с 80 на 8080 вызывает неожиданные проблемы в WordPress?

3 окт. 2014 г., 13:50:07
Просмотры: 13.8K
Голосов: -1

Я пытаюсь настроить Varnish, который требует, чтобы Apache слушал на другом порту, отличном от 80, поэтому я выбрал 8080.

Однако WordPress работает очень странно. Главная страница отображается, но она сломана, а все CSS, JS и другие ресурсы показывают ошибки 404.

Это сильно отличается от поведения других сайтов, таких как Drupal или даже статические страницы, где все ссылки и ресурсы автоматически используют порт 8080.

Почему WordPress не следует этим стандартам? Как заставить его "вести себя правильно"? Я читал в интернете, что некоторые решают эту проблему, добавляя :8080 после URL в настройках. Это означает, что мне придется вручную настроить более 50 сайтов WordPress, что кажется не совсем правильным.

Как лучше всего подойти к этой проблеме? Если вы раньше устанавливали Varnish, как вы настроили свои сайты WordPress для корректной работы?

3
Комментарии

Поскольку WordPress не учитывает порт, на котором обслуживаются запросы, проблема заключается в вашей настройке Varnish и Apache. В любом случае, без дополнительных деталей невозможно даже предположить, в чем может быть ваша проблема.

Mark Kaplun Mark Kaplun
3 окт. 2014 г. 14:20:45

Сообщите, какие еще детали могут быть полезны, и я их предоставлю. Это простая настройка Apache, который раньше слушал порт 80, а теперь слушает 8080 — это единственное, что было изменено. Кроме того, сайты на Drupal и статические сайты заработали без проблем. Также это стандартная установка WordPress. Я не вижу ничего необычного в конфигурации.

user658182 user658182
3 окт. 2014 г. 15:26:16

Некоторые нашли (Google): По умолчанию Varnish не работает на порту 80 (и в данном случае он не мог работать, так как этот порт занят вашим Apache). Вам следует настроить Apache на прослушивание другого порта, а затем использовать этот порт для настройки бэкенда в Varnish. Также нужно настроить Varnish на прослушивание порта 80. Источник: [link]http://drupal.stackexchange.com/questions/30732/cant-get-varnish-working-properly-not-caching-anything-varnishd-is-running[/link] http://superuser.com/a/720679/124062 & http://www.coderanch.com/t/168608/java-Web-Component-SCWCD/certification/Diff

Charles Charles
4 окт. 2014 г. 20:06:56
Все ответы на вопрос 3
0

Проблема не в WordPress, а в вашей конфигурации Varnish или Apache.

Статические файлы, такие как CSS, JS, изображения, обрабатываются Apache напрямую, вообще без участия WordPress. WordPress просто использует URL, который вы для него настроили. Ему не важно, какой порт или домен используется.

Итак, если запрос к вашему сайту для получения CSS возвращает ошибку 404, почему так происходит? WordPress тут ни при чём — правила .htaccess, которые использует WP, указывают Apache отдавать существующие файлы напрямую. Исключите WordPress из уравнения и просто разберитесь, почему вы не можете получить CSS-файл по этому URL.

5 окт. 2014 г. 01:09:52
0

[Я наткнулся на эту ветку, когда искал решение проблемы с WordPress на новом порту. Понял, что речь о Varnish. Моя ошибка.]

У WordPress также возникают проблемы с открытием на новом HTTP-порту.

  1. XAMPP установлен на локальной машине с настройками по умолчанию... Apache доступен на localhost (80), как и все сайты в htdocs, включая WordPress.
  2. Пришлось установить Skype, после чего я изменил порт Apache с 80 на 8080.
  3. Другие сайты работают нормально на localhost с портом 8080, кроме WordPress. Drupal и другие CMS открываются без проблем даже после смены порта.

При попытке доступа к сайтам WordPress по URL localhost:8080 происходит перенаправление на localhost. Браузер возвращает ошибку 404 Not Found.

Почему другие CMS работают корректно после смены порта с 80 на 8080, а WordPress — нет?

Вот рабочее решение:

Экспортируйте базу данных WordPress в формате SQL → Откройте в текстовом редакторе → Найдите и замените все вхождения "localhost" на "localhost:8080" → Импортируйте обратно.

http://techubber.blogspot.in/2016/04/wordpress-site-not-accessible-on-localhost-8080-redirects-to-localhost-404-error.html

Некоторые посетители утверждают, что им помог этот способ (необходимо изменить siteurl и home в таблице wp_options):

marvintam[dot] com/2009/05/wordpress-on-localhost-port-number/

10 апр. 2016 г. 21:08:14
0
-2

Вы изменили URL WordPress в Настройках → Общие?

http://example.com/wp => http://example.com:8080/wp

Я не пробовал, но это должно быть аналогично переносу установки WordPress на другой домен.

4 окт. 2014 г. 15:59:20