J'ai un blog wordpress qui est servi par apache2 (sur le port 80) et nginx (sur le port 8080) sur Ubuntu 12.04. Désormais, chaque fois qu'un client se connecte via le port 80, tout est super, mais lorsqu'un client se connecte au 8080 pour afficher le même blog, la connexion est redirigée vers apache. Pourquoi cela arrive-t-il? J'ai cherché autour de moi et j'ai trouvé qu'il s'agissait d'une limitation Wordpress qui redirige toutes les connexions vers l'URL du site définie dans le tableau de bord (qui est le port 80 par défaut).
Y a-t-il un moyen de contourner ceci? que les connexions au port 8080 seraient servies par nginx plutôt qu'apache
Contenu 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;
}
Toute aide est appréciée.
Réponses:
Je l'ai résolu !! Voici comment:
Modifiez votre thème actuel
functions.php
et ajoutez la ligne suivante après la balise PHP d'ouverture pour désactiver la redirection canonique.remove_filter('template_redirect','redirect_canonical');
sauvegarder et quitter.Redémarrez apache2 et nginx et vérifiez avec
curl -I IP
.la source
Même problème. Dans ma situation, j'ai défini le port du serveur sur
3030
, pour accueillir d'autres serveurs. Quoi qu'il en soit, sans avoir à ajouter de code à aucunfunctions.php
fichier, j'ai résolu le problème en changeant les valeurs de site et d'accueil dans lewp_options
tableau en paramètres de domaine et de port.Par exemple,
Tout semblait bien fonctionner à partir de là. 👍
la source