Wordpress leitet Verbindungen an Port 8080 bis 80 um

9

Ich habe ein WordPress-Blog, das von Apache2 (auf Port 80) und Nginx (auf Port 8080) unter Ubuntu 12.04 bereitgestellt wird. Immer wenn ein Client über Port 80 eine Verbindung herstellt, ist alles in Ordnung, aber wenn ein Client eine Verbindung zu 8080 herstellt, um dasselbe Blog anzuzeigen, wird die Verbindung zu Apache umgeleitet. Warum passiert das? Ich habe mich umgesehen und festgestellt, dass dies eine Wordpress-Einschränkung ist, die alle Verbindungen zur im Dashboard festgelegten Site-URL umleitet (standardmäßig Port 80).

Gibt es einen Weg, dies zu umgehen? dass die Verbindungen zu Port 8080 eher von Nginx als von Apache bedient würden

Inhalt von / 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;
}

Jede Hilfe wird geschätzt.

Calypso
quelle
2
WP kann nur für die Ausführung an einem Port konfiguriert werden. Es wird entweder mysite.com oder mysite.com:8080 sein, nicht beides. Wenn jemand WP über 8080 anzeigt (aber für 80 konfiguriert), zeigt WP wahrscheinlich die Seite an, aber alle Links sind 80.
user42826
Warum versuchen Sie, die Site so auszuführen?
Seamus Leahy
@ user42826 Ich habe Apache für die Verwendung von 8080 konfiguriert, und wie Sie beschrieben haben, sind alle Links zu CSS, Bildern und anderen Assets fehlerhaft. Wie schlagen Sie eine Korrektur vor, durch die Weiterleitungen nicht entfernt werden? Ich habe viele Leute gesehen, die empfohlen haben, der URL in den Einstellungen 8080 hinzuzufügen, aber das fühlt sich nicht richtig an. Ich sollte WP nicht zusätzlich zu Apache konfigurieren müssen, nein?
user658182

Antworten:

11

Ich habe es gelöst !! hier ist wie:

Bearbeiten Sie die aktuellen Themen functions.phpund fügen Sie nach dem Öffnen des PHP-Tags die folgende Zeile hinzu, um die kanonische Umleitung zu deaktivieren.

remove_filter('template_redirect','redirect_canonical'); speichern und schließen.

Starten Sie apache2 und nginx neu und überprüfen Sie mit curl -I IP.

Calypso
quelle
1

Gleiches Problem. In meiner Situation habe ich den Server-Port auf eingestellt 3030, um andere Server aufzunehmen. Wie auch immer, ohne dass functions.phpich Code zu Dateien hinzufügen musste , löste ich das Problem, indem ich die Site- und Home-Werte in der wp_optionsTabelle in die Domänen- und Porteinstellung änderte .

Zum Beispiel,

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

Von da an schien alles gut zu funktionieren. 👍

Seekeks
quelle