Wordpress reindirizza le connessioni sulla porta da 8080 a 80


9

Ho un blog wordpress che è servito da apache2 (sulla porta 80) e nginx (sulla porta 8080) su Ubuntu 12.04. Ora, ogni volta che un client si connette tramite la porta 80, tutto è enorme, ma quando un client si connette a 8080 per visualizzare lo stesso blog, la connessione viene reindirizzata ad apache. Perché sta succedendo? Ho cercato in giro e ho scoperto che questa è una limitazione di Wordpress che reindirizza tutte le connessioni all'URL del sito impostato nella dashboard (che è la porta 80 per impostazione predefinita).

C'è un modo per aggirare questo? che le connessioni alla porta 8080 sarebbero servite da nginx piuttosto che da apache

Contenuti 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.


2
WP può essere configurato per funzionare solo su una porta. Sarà mysite.com o mysite.com:8080 non entrambi. Quando qualcuno visualizza WP tramite 8080 (ma configurato per 80), WP probabilmente mostra la pagina ma tutti i collegamenti saranno 80.
user42826

Perché stai cercando di eseguire il sito in questo modo?
Seamus Leahy,

@ user42826 Ho configurato apache per utilizzare 8080 e, come hai descritto, tutti i collegamenti a CSS, immagini e altre risorse sono interrotti. Come suggerisci la correzione che non rimuove i reindirizzamenti? Ho visto molte persone raccomandare di aggiungere: 8080 all'URL nelle impostazioni, ma questo non sembra giusto. Non dovrei configurare WP oltre ad Apache, no?
user658182,

Risposte:


11

L'ho risolto !! Ecco come:

Modifica il tema corrente functions.phpe aggiungi la seguente riga dopo l'apertura del tag PHP per disabilitare il reindirizzamento canonico.

remove_filter('template_redirect','redirect_canonical'); salva ed esci.

Riavvia apache2 e nginx e verifica con curl -I IP.


1

Stesso problema. Nella mia situazione, ho impostato la porta del server su 3030, per adattarsi ad altri server. Ad ogni modo, senza dover aggiungere alcun codice a nessun functions.phpfile, ho risolto il problema modificando i valori di sito e home nella wp_optionstabella con l'impostazione del dominio e della porta.

Per esempio,

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

Tutto sembrava funzionare bene da lì. 👍

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.