Remover ID ou número da url usando reescrita nginx

1

Eu tenho um site que estava sendo executado no CSM personalizado. No entanto, como cresceu, tivemos que movê-lo para wordpress.

No antigo CMS, tínhamos estrutura de url para artigos semelhantes a este:

https://example.com/parent-category/child-category/7564-title-of-the-article
https://example.com/parent-category
https://example.com/parent-category/child-category

Gostaríamos de redirecionar todas as solicitações para artigos antigos para essa estrutura

https://example.com/title-of-the-article
https://example.com/category/parent-category
https://example.com/category/parent-category/child-category

Aqui categoria é wordpress lesma para categoria

Eu tentei algumas regras de redirecionamento no nginx, no entanto, acontece que eu não sou bom com expressões regex. Eu sou sem noção. Por favor me ajude a fazer isso. Eu não sei para onde recorrer.

Seria muito apreciado.

Atualização: estrutura de link original editada para resolver confusões sobre "categoria" sendo uma lesma estática. Não é. Existem várias categorias e subcategorias:

https://example.com/review/app/734-title-of-the-post
https://example.com/news/546-title-of-the-post
https://example.com/blog/opinion/456-title-of-the-post
    
por Swadesh Shanker Parasher 13.06.2017 / 15:27

1 resposta

0

Supondo que "category" seja literal e "something" seja um marcador, algo assim pode funcionar para você:

rewrite ^/category/[^/]+/\d+-(.+)$ /$1 permanent;

Se apenas URIs antigos do CMS começarem com /category , você poderá colocar a regravação dentro de um bloco de localização para melhorar a eficiência:

location ^~ /category/ {
    rewrite ^/category/[^/]+/\d+-(.+)$ /$1 permanent;
}

Consulte este link para obter ajuda com expressões regulares.

    
por 13.06.2017 / 16:35

Tags