Nginx redirige el último fragmento de la cadena

Nginx redirige el último fragmento de la cadena

Estoy luchando por entender cómo reescribir la siguiente URL:

http://ejemplo.com/blog/01-01-01/string

a

http://ejemplo.com/cadena

La siguiente expresión regular coincide con la cadena:^blog\/\d*-\d*-\d*\/(.*)

Mi bloque de configuración de nginx es:

location / {
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header HOST $http_host;
  proxy_set_header X-NginX-Proxy true;

  proxy_pass http://127.0.0.1:2368;
  proxy_redirect off;
  rewrite ^blog\/\d*-\d*-\d*\/(.*) http://example/$1 permanent;
}

sin embargo esto no funciona. Estoy luchando por ver lo que me estoy perdiendo aquí. Probé algunas variaciones de esto pero estoy atascado, cualquier ayuda sería muy apreciada.

Respuesta1

Podrías probar esto:

rewrite  ^/blog/\d+-\d+-\d+/(.*)  /$1  redirect;

O una forma supuestamente un poco más eficiente de hacer lo mismo:

rewrite  ^/blog/\d+-\d+-\d+(/.*)  $1  redirect;

Respuesta2

Intentar

^/blog/[0-9][0-9]*.[0-9][0-9]*.[0-9][0-9]\/[A-Za-z\-]*$

Realmente depende de qué tan específica será esa URL.

información relacionada