Wordpress redirecionando conexões na porta 8080 a 80

9

Eu tenho um blog wordpress que é servido por apache2 (na porta 80) e nginx (na porta 8080) no Ubuntu 12.04. Agora, sempre que um cliente se conecta via porta 80, tudo fica muito ruim, mas quando um cliente se conecta ao 8080 para visualizar o mesmo blog, a conexão é redirecionada para o apache. Por que isso está acontecendo? Eu procurei e descobri que essa é uma limitação do Wordpress, que redireciona todas as conexões ao URL do site definido no painel (que é a porta 80 por padrão).

Existe uma maneira de contornar isso? que as conexões com a porta 8080 seriam atendidas por nginx em vez de apache

Conteúdo de / 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;
}

Qualquer ajuda é apreciada.

calypso
fonte
2
O WP só pode ser configurado para ser executado em uma porta. Será mysite.com ou mysite.com:8080 e não ambos. Quando alguém vê WP via 8080 (mas configurado para 80), WP, provavelmente, mostrar a página, mas todas as ligações serão 80.
user42826
Por que você está tentando executar o site dessa maneira?
Seamus Leahy
@ user42826 Configurei o apache para usar o 8080 e, como você descreveu, todos os links para css, imagens e outros ativos estão quebrados. Como você sugere uma correção que não remove os redirecionamentos? Eu já vi muitas pessoas recomendando adicionar: 8080 ao URL nas configurações, mas isso não parece certo. Eu não deveria ter que configurar o WP além do apache, não?
user658182

Respostas:

11

Eu resolvi !! aqui está como:

Edite o tema atual functions.phpe adicione a seguinte linha após a tag PHP de abertura para desativar o redirecionamento canônico.

remove_filter('template_redirect','redirect_canonical'); salvar e sair.

Reinicie o apache2 e o nginx e verifique com curl -I IP.

calypso
fonte
1

Mesmo problema. Na minha situação, defino a porta do servidor em 3030, para acomodar outros servidores. De qualquer forma, sem precisar adicionar nenhum código a nenhum functions.phparquivo, resolvi o problema alterando os valores de site e home na wp_optionstabela para a configuração de domínio e porta.

Por exemplo,

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

Tudo parecia funcionar bem a partir daí. 👍

seebiscuit
fonte