Tengo un blog de WordPress que es atendido por apache2 (en el puerto 80) y nginx (en el puerto 8080) en Ubuntu 12.04. Ahora, cuando un cliente se conecta a través del puerto 80, todo está muy bien, pero cuando un cliente se conecta a 8080 para ver el mismo blog, la conexión se redirige a Apache. ¿Por qué está pasando esto? Busqué y descubrí que esta es una limitación de Wordpress que redirige todas las conexiones a la URL del sitio establecida en el tablero (que es el puerto 80 por defecto).
¿Hay alguna forma de evitar esto? que las conexiones al puerto 8080 serían atendidas por nginx en lugar de apache
Contenido 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;
}
Cualquier ayuda es apreciada.
Respuestas:
Lo resolví !! así es cómo:
Edite su tema actual
functions.php
y agregue la siguiente línea después de la etiqueta PHP de apertura para deshabilitar la redirección canónica.remove_filter('template_redirect','redirect_canonical');
guardar y Salir.Reinicie apache2 y nginx y verifique con
curl -I IP
.fuente
El mismo problema. En mi situación, configuré el puerto del servidor en
3030
, para acomodar otros servidores. De todos modos, sin tener que agregar ningún código a ningúnfunctions.php
archivo, resolví el problema cambiando los valores del sitio y del hogar en lawp_options
tabla a la configuración del dominio y el puerto.Por ejemplo,
Todo parecía funcionar bien desde allí. 👍
fuente