Nginx reescreve parte da URL

1

Estou tentando fazer um redirecionamento de URL com ID de opção para URLs com a opção URL_key que eu atribuí.

Eu tenho duas colunas com ID que gostaria de substituir e URL_key como substituto.

11337 bar 11419 restaurante 11399 café 15477 pintura

Eu tenho esses URLs vindo agora:

ifab.ru/art/kartiny/location/11399/style/15477

que eu gostaria de redirecionar para:

ifab.ru/art/kartiny/location/cafe/style/painting

Você pode dizer que eu poderia pegar todos os URLs do site e substituir por replace, mas eles estão sendo gerados automaticamente e cada combinação pode ser diferente, então eu gostaria de pegar o ID e reescrevê-lo para URL_key.

Quaisquer pensamentos e soluções são apreciados.

Executamos nosso servidor em nginx, sem apache.

    
por Damir 25.12.2014 / 17:05

1 resposta

2

Isso deve funcionar:

map $loc $loc_text {
    11337 bar;
    11419 restaurant;
}

map $style $style_text {
    15477 painting;
}

rewrite ^/art/kartiny/location/(?P<loc>\d+)/style/(?P<style>\d+)$ 
    /art/kartiny/location/$loc_text/style/$style_text
    redirect;

Veja também o link

    
por 26.12.2014 / 01:40