Pregunta sobre Rank Math - SEO Plugin for WordPress de Wordpress:

Mapa del sitio agregar regla de reescritura de nginx

Un usuario preguntó 👇

Hola,

Tengo este problema exactamente como se describe en las preguntas frecuentes:
https://rankmath.com/kb/fix-sitemap-issues/#nginx-server-error

Estoy acostumbrado a trabajar con Apache, así que perdóname mi pregunta. Intenté agregar esto a /etc/nginx/nginx.conf:

# START Nginx Rewrites for Rank Math Sitemaps
rewrite ^/sitemap_index.xml$ /index.php?sitemap=1 last;
rewrite ^/([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 last;
# END Nginx Rewrites for Rank Math Sitemaps

Sin embargo, rompe nginx. También probé:

server   {
server_name domain.com;
rewrite ^/sitemap_index.xml$ /index.php?sitemap=1 last;
rewrite ^/([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 last;
}

No tienes suerte.

¿Cuál es el formato correcto para insertar una regla de reescritura?

¡Gracias!

(@pbalazs)

hace 1 año

Hola @seomandarin

Pruebe el siguiente formato:

server {
  rewrite ^/sitemap_index.xml$ /index.php?sitemap=1 last;
  rewrite ^/([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 last;
}

Si eso no ayuda, verifique el registro de errores del servidor después de la interrupción de nginx para ver la causa exacta del problema y háganos saber lo que dice para que podamos sugerir una solución.

Gracias.

(@seomandarin)

hace 1 año

Hola @pbalazs

Con ese formato me sale un error: 2019/12/30 03:34:41 [alert] 14991 # 14991: * 3173 toma abierta # 18 a la izquierda el 9 2019/12/30 03:34:41 [alert] 14991 # 14991: * 3174 toma abierta # 19 izquierda en conexión 83 2019/12/30 03:34:41 [alert] 14991 # 14991: aborto 30/12/2019 03:34:41 [emerg] 19035 # 19035: instrucción «servidor» no permitida aquí en /etc/nginx/nginx.conf:5

¡Gracias!

(@pbalazs)

hace 1 año

Hola, ¿Podría compartir el contenido actual del archivo de configuración? Puede utilizar un pastebin o un servicio similar si el contenido es largo.

Si un http {...} bloquear luego prueba el server bloque dentro de eso.

Espero que ayude.

(@seomandarin)

hace 1 año

Hola @pbalazs

Lo puse en el bloque http sin errores. Aún así, encuentre la página 404.
https://domain.com/?sitemap=1 si genera el mapa de ubicación correctamente.

nginx.conf:
https://pastebin.com/FgGT63px

¡Gracias!

(@rankmath)

hace 1 año

Hola @seomandarin

Sigues recibiendo lo mismo “server” directive is not allowed error cuando server hay un bloque dentro del http ¿bloquear?

Además, intenta agregarlo al final. http bloque, justo antes de cerrar } personaje.

Gracias.

(@seomandarin)

hace 1 año

Hola @rankmath

Ahora lo he puesto en el bloque http. No obtengo ningún error. Busque la página ‘404 nginx page not found yet’.

Ya he intentado guardar los enlaces permanentes.

¿Algunas ideas?

Gracias por tu mensaje

Acerca de

(@rankmath)

hace 1 año

Hola,

1. ¿Su sitio está instalado en un subdirectorio, por casualidad? Es decir, la URL de su sitio es similar example.com o similar example.com/wp/?

2. ¿Este formato de URL muestra correctamente el mapa del sitio? https://example.com/index.php?sitemap=1

3. Pruebe los siguientes formatos de URL y avísenos si muestran 404 o cualquier otra cosa:

https://example.com/sitemap.xml
https://example.com/sitemap_index.xml
https://example.com/page-sitemap.xml

Gracias.

(@seomandarin)

hace 1 año

Hola @rankmath

1) Sin subdirectorios. Sin embargo, es una instalación de WPML multilingüe (lo que significa que la instalación también contiene domain.nl y domain.cn. Esto no debería importar ya que este dominio sigue siendo la página de inicio y todo es de domain.com .com / wp-admin panel regular

2) https://domain.com/index.php?sitemap=1 muestra correctamente.

3) https://example.com/sitemap.xml https://example.com/sitemap_index.xml https://example.com/page-sitemap.xml
todos obtienen 404

Gracias

Esta respuesta fue modificada hace 1 año por. Esta respuesta fue modificada hace 1 año por.

(@seomandarin)

hace 1 año

Hola @rankmath

Respondí, pero esperando modestamente. Aquí está mi respuesta simplificada a eso.

1. Sin subdirectorios. Aunque estoy acostumbrado https://wpml.org/tutorials/2016/04/use-wpml-different-domains-per-language
2. Se abre correctamente 3. Todos obtienen 404

¡Gracias!

Esta respuesta fue modificada hace 1 año por.

(@rankmath)

hace 1 año

Hola,

El archivo de configuración ahora parece ser válido, pero las reglas de reescritura se ignoran por alguna razón, tal vez otra regla tenga prioridad, pero no veo nada en el archivo de configuración que pueda causar esto.

Habilite el módulo de reescritura con el rewrite_log la guía puede sugerir lo que está sucediendo: http://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite_log

Espero que ayude.

(@seomandarin)

hace 1 año

Hola @rankmath

Activé rewrite_log en http y en el servidor. Registro configurado al nivel de notificación. El único error que recibía al reiniciar nginx

2019/12/31 02:50:57 [alert] 12385#12385: *63 open socket #36 left in connection 7
2019/12/31 02:50:57 [alert] 12385#12385: *62 open socket #19 left in connection 18
2019/12/31 02:50:57 [alert] 12385#12385: aborting

* cabeza rayada *

Gracias por pensar conmigo

(@rankmath)

hace 1 año

Hola @seomandarin

Asegúrese de volver a cargar nginx después de cambiar el archivo de configuración. Una hora rewrite_log habilitado, cada vez que se realiza una reescritura, debería ver algo como esto en el registro:

[notice] 14385 # 14385: * 1 “^ (/ data /.*)/ x / ( w +) .?. * $ «Coincide con» / data / x / test «, cliente: 192.168.101.1, servidor: localhost, aplicación:» GET / data / x / test HTTP / 1.1 «, host:» 192.168.101.10 »
[notice] 14385 # 14385: * 1 dato reescrito: «/data/y/test.html», args: «», cliente: 192.168.101.1, servidor: localhost, solicitud: «GET / data / x / test HTTP / 1.1», host: «192.168.101.10»

También puede intentar plegar las reglas de reescritura en un bloque de sitio:

server {
  location / {
    rewrite ^/sitemap_index.xml$ /index.php?sitemap=1 last;
    rewrite ^/([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 last;
  }
}

Otra cosa que puede intentar es configurar el registro debug level, que debe proporcionar información detallada sobre lo que hace nginx al procesar cada solicitud y respuesta.

Puede encontrar otros consejos y estrategias para depurar las reglas de reescritura en esta respuesta de Stack Overflow: https://serverfault.com/a/741197

Espero que ayude.

(@seomandarin)

hace 1 año

Hola @rankmath

1) Traté de ponerlo en el bloque del sitio. no cambia nada de lo que parece. Siempre reinicio nginx después de hacer cambios. 2) Configuré el registro de errores en el nivel de depuración, sin mostrar nada de lo que puedo decir.

==> /var/log/nginx/domain.com/https_error.log <==
2020/01/04 00:40:37 [error] 19093#19093: *5 open() "/var/www/domain.com/post-sitemap.xml" failed (2: No such file or directory), client: myipaddress, server: domain.com, request: "GET /post-sitemap.xml HTTP/1.1", host: "domain.com", referrer: "https://domain.com/?sitemap=1"

==> /var/log/nginx/domain.com/https_access.log <==
myipaddress - - [04/Jan/2020:00:40:37 +0100] "GET /post-sitemap.xml HTTP/1.1" 404 564 "https://domain.com/?sitemap=1" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ipaddress Safari/537.36"

==> /var/log/nginx/error.log <==
2020/01/04 00:33:09 [debug] 18886#18886: accept on 0.0.0.0:80, ready: 0
2020/01/04 00:33:09 [debug] 18886#18886: posix_memalign: 000055A0C1D9F9F0:512 @16
2020/01/04 00:33:09 [debug] 18886#18886: *10 accept: myipaddress:50376 fd:27
2020/01/04 00:33:09 [debug] 18886#18886: *10 event timer add: 27: 60000:570986844
2020/01/04 00:33:09 [debug] 18886#18886: *10 reusable connection: 1
2020/01/04 00:33:09 [debug] 18886#18886: *10 epoll add event: fd:27 op:1 ev:80002001
2020/01/04 00:33:09 [debug] 18886#18886: *10 http wait request handler
2020/01/04 00:33:09 [debug] 18886#18886: *10 malloc: 000055A0C1CF5030:1024
2020/01/04 00:33:09 [debug] 18886#18886: *10 recv: eof:0, avail:1
2020/01/04 00:33:09 [debug] 18886#18886: *10 recv: fd:27 955 of 1024
2020/01/04 00:33:09 [debug] 18886#18886: *10 reusable connection: 0
2020/01/04 00:33:09 [debug] 18886#18886: *10 posix_memalign: 000055A0C1DB6B80:4096 @16
2020/01/04 00:33:09 [debug] 18886#18886: *10 http process request line
2020/01/04 00:33:09 [debug] 18886#18886: *10 http request line: "GET /sitemap.xml HTTP/1.1"
2020/01/04 00:33:09 [debug] 18886#18886: *10 http uri: "/sitemap.xml"
2020/01/04 00:33:09 [debug] 18886#18886: *10 http args: ""
2020/01/04 00:33:09 [debug] 18886#18886: *10 http exten: "xml"
2020/01/04 00:33:09 [debug] 18886#18886: *10 posix_memalign: 000055A0C1DAB1E0:4096 @16
2020/01/04 00:33:09 [debug] 18886#18886: *10 http process request header line

¡Gracias!

(@rankmath)

hace 1 año

Hola @seomandarin

Nos estamos quedando sin ideas aquí. Nuestra siguiente sugerencia sería probar otra solución de mapa del sitio, como este plugin: https://wordpress.org/plugins/google-sitemap-generator/ Asegúrese de desactivar el módulo de mapa del sitio XML en Clasifique Math antes de instalar el siguiente plugin. Después de instalar y configurar el plugin, verifique la /sitemap.xml el archivo se carga correctamente. Al igual que con Rank Math, deberá agregar reglas de reescritura personalizadas en el archivo de configuración; estas deben mostrarse en la página de configuración del plugin.

Háganos saber cómo va.

(@rankmath)

hace 1 año

Hola,

Suponiendo que está utilizando la última versión del plugin y el problema no está sucediendo, cerramos este tema.

De lo contrario, no dude en responder a este tema o abrir uno nuevo y estaremos encantados de ayudarle.

Gracias.

¿Solucionó tu problema??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada.