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.
Antworten:
Ich habe es gelöst !! hier ist wie:
Bearbeiten Sie die aktuellen Themen
functions.php
und 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
.quelle
Gleiches Problem. In meiner Situation habe ich den Server-Port auf eingestellt
3030
, um andere Server aufzunehmen. Wie auch immer, ohne dassfunctions.php
ich Code zu Dateien hinzufügen musste , löste ich das Problem, indem ich die Site- und Home-Werte in derwp_options
Tabelle in die Domänen- und Porteinstellung änderte .Zum Beispiel,
Von da an schien alles gut zu funktionieren. 👍
quelle