Підключення для переадресації Wordpress на порт 8080 до 80


9

У мене є блог wordpress, який обслуговується apache2 (на порту 80) та nginx (на порту 8080) на Ubuntu 12.04. Тепер кожного разу, коли клієнт підключається через порт 80, все стає хитким, але коли клієнт підключається до 8080, щоб переглянути той самий блог, з'єднання переспрямовується на apache. Чому це відбувається? Я здійснив обшук і виявив, що це обмеження Wordpress, що воно перенаправляє всі з'єднання з URL-адресою сайту, встановленою на інформаційній панелі (що за замовчуванням - порт 80).

Чи є шлях до цього? що з'єднання з портом 8080 обслуговуватиметься nginx, а не apache

Зміст / etc / nginx / включених сайтів / 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

Чому ви намагаєтеся запустити цей сайт так?
Seamus Leahy

@ 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

Здавалося, все звідти нормально працює. 👍

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.