Nginx перенаправляет последний фрагмент в строке

Nginx перенаправляет последний фрагмент в строке

Я изо всех сил пытаюсь понять, как переписать следующий URL-адрес:

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

к

http://example.com/string

Следующее регулярное выражение соответствует строке -^blog\/\d*-\d*-\d*\/(.*)

Мой блок конфигурации nginx выглядит так:

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;
}

Однако это не работает. Я пытаюсь понять, что я здесь упускаю. Я пробовал несколько вариантов этого, но я застрял, любая помощь будет высоко оценена.

решение1

Вы можете попробовать это:

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

Или, предположительно, немного более эффективный способ сделать то же самое:

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

решение2

Пытаться

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

На самом деле все зависит от того, насколько конкретным будет этот URL.

Связанный контент