
Alguém sabe como redirecionar um URL que contém uma categoria pai de um produto? Basicamente, quero redirecionar uma tonelada de produtos para uma página de destino simples que criei; portanto, em vez de fazer redirecionamentos para cada produto, quero direcionar a categoria pai (fabricante) e redirecioná-la para minha página de destino.
Então, assim:
https://example.com/product/baader/baader-600/baader-600-belts/belt-rubber/
https://example.com/product/baader/baader-600/baader-600-belts/belt-urethane/
https://example.com/product/baader/baader-600/baader-600-parts/cover/
https://example.com/product/baader/baader-600/baader-600-parts/washer/
Todos redirecionariam para esta página de destino:
https://example.com/replacement-parts/baader/baader-600/
Então, acho que você segmentaria qualquer coisa que tenha "produto/baader/baader-600/" e, em seguida, abandonaria a última parte do URL (/baader-600-belts/belt-rubber/) e redirecionaria para "/peças de reposição /baader/baader-600/" Não tenho ideia de como transformar sus em uma RewriteRule.
Responder1
Bem-vindo ao ServerFault.
Não precisamos de reescritas complexas para alcançá-lo. O seguinte funcionaria ...
location /product/baader/baader-600/ { return 302 /replacement-parts/baader/baader-600/; }
Reescrever equivalente...
rewrite ^/product/baader/baader-600/ http://example.com/replacement-parts/baader/baader-600/;
Se você precisar de redirecionamento 301, aqui estão os equivalentes...
location /product/baader/baader-600/ { return 301 /replacement-parts/baader/baader-600/; }
rewrite ^/product/baader/baader-600/ /replacement-parts/baader/baader-600/ permanent;
Responder2
Supondo que o fabricante deva ser dinâmico, você poderia adicionar essa regra.
location ~ /product/(.+) {
rewrite ^.*(\/product\/)([\w|-]*)\/(.*)\/.*$ /replacement-parts/$2/$3 permanent;
}
Here $2 is a second match group for manufacturer, and $3 contains product part.