WordPress reindirizza le connessioni dalla porta 8080 alla 80
Ho un blog WordPress che viene servito da apache2 (sulla porta 80) e nginx (sulla porta 8080) su Ubuntu 12.04. Quando un client si connette tramite la porta 80 tutto funziona perfettamente, ma quando un client si connette alla 8080 per visualizzare lo stesso blog, la connessione viene reindirizzata ad apache. Perché succede questo? Ho cercato in giro e ho scoperto che questa è una limitazione di WordPress che reindirizza tutte le connessioni all'URL del sito impostato nel dashboard (che è sulla porta 80 di default).
C'è un modo per evitarlo? In modo che le connessioni alla porta 8080 vengano servite da nginx anziché da apache
Contenuto di /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;
}
Qualsiasi aiuto è apprezzato.

L'ho risolto!! Ecco come:
Modifica il file functions.php
del tuo tema corrente e aggiungi la seguente riga dopo il tag PHP di apertura per disabilitare il reindirizzamento canonico.
remove_filter('template_redirect','redirect_canonical');
salva ed esci.
Riavvia apache2 e nginx e verifica con curl -I IP
.

Stesso problema. Nella mia situazione, ho impostato la porta del server a 3030
, per ospitare altri server. In ogni caso, senza dover aggiungere alcun codice a file functions.php
, ho risolto il problema modificando i valori di site e home nella tabella wp_options
con il dominio e l'impostazione della porta.
Ad esempio,
site http://localhost:3030
home http://localhost:3030
Da quel momento tutto sembrava funzionare correttamente.
