Wordpress перенаправляет соединения через порт 8080 на 80

9

У меня есть WordPress блог, который обслуживается apache2 (на порт 80) и nginx (на порт 8080) на Ubuntu 12.04. Теперь всякий раз, когда клиент подключается через порт 80, все просто, но когда клиент подключается к 8080 для просмотра того же блога, соединение перенаправляется на apache. Почему это происходит? Я искал вокруг и обнаружил, что это ограничение Wordpress, которое перенаправляет все соединения на URL-адрес сайта, установленный на панели мониторинга (по умолчанию это порт 80).

Есть ли способ обойти это? что соединения с портом 8080 будут обслуживаться nginx, а не apache

Содержимое / etc / nginx / sites-enabled / wordpress

server {
listen   8080;

root /var/www;
index index.php index.html index.htm;

server_name abc.com;

location / {
        try_files $uri $uri/ /index.php?q=$uri&$args;
}

location /doc/ {
        alias /usr/share/doc/;
        autoindex on;
        allow 127.0.0.1;
        deny all;
}

error_page 404 /404.html;

error_page 500 502 503 504 /50x.html;
location = /50x.html {
        root /usr/share/nginx/www;
}

location ~ \.php$ {

        try_files $uri =404;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param   SERVER_PORT 8080;
        port_in_redirect off;
}

Любая помощь приветствуется.

калипсо
источник
2
WP можно настроить только на один порт. Это будет либо mysite.com, либо mysite.com:8080, но не оба. Когда кто-то просматривает WP через 8080 (но настроенный на 80), WP, вероятно, покажет страницу, но все ссылки будут на 80.
user42826
Почему вы пытаетесь запустить сайт таким образом?
Симус Лихи
@ user42826 Я настроил Apache для использования 8080, и, как вы описали, все ссылки на CSS, изображения и другие ресурсы не работают. Как вы предлагаете исправить, что бы не удалить перенаправления? Я видел, что многие люди рекомендуют добавлять: 8080 к URL в настройках, но это не правильно. Мне не нужно настраивать WP в дополнение к apache, нет?
user658182

Ответы:

11

Я решил это !! вот как:

Отредактируйте текущую тему functions.phpи добавьте следующую строку после открывающего тега PHP, чтобы отключить каноническое перенаправление.

remove_filter('template_redirect','redirect_canonical'); Сохранить и выйти.

Перезапустите apache2 и nginx и проверьте с помощью curl -I IP.

калипсо
источник
1

Та же проблема. В моей ситуации я установил порт сервера 3030для размещения других серверов. В любом случае, без добавления какого-либо кода в какие-либо functions.phpфайлы, я решил проблему, изменив значения сайта и домашней страницы в wp_optionsтаблице на настройки домена и порта.

Например,

site     http://localhost:3030
home     http://localhost:3030

Казалось, все работает нормально оттуда. 👍

seebiscuit
источник