Wordpress redirigeant les connexions sur le port 8080 vers 80


9

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.


2
WP ne peut être configuré que pour s'exécuter sur un seul port. Ce sera soit mysite.com ou mysite.com:8080 pas les deux. Quand quelqu'un consulte WP via 8080 (mais configuré pour 80), WP affichera probablement la page mais tous les liens seront 80.
user42826

Pourquoi essayez-vous d'exécuter le site comme ceci?
Seamus Leahy

@ user42826 J'ai configuré apache pour utiliser 8080 et, comme vous l'avez décrit, tous les liens vers css, images et autres ressources sont rompus. Comment proposez-vous une correction qui ne supprimerait pas les redirections? J'ai vu beaucoup de gens recommander d'ajouter: 8080 à l'URL dans les paramètres, mais cela ne semble pas correct. Je ne devrais pas avoir à configurer WP en plus d'Apache, non?
user658182

Réponses:


11

Je l'ai résolu !! Voici comment:

Modifiez votre thème actuel functions.phpet 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.


1

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 à aucun functions.phpfichier, j'ai résolu le problème en changeant les valeurs de site et d'accueil dans le wp_optionstableau en paramètres de domaine et de port.

Par exemple,

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

Tout semblait bien fonctionner à partir de là. 👍

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.