
Кто-нибудь знает, как перенаправить URL, содержащий родительскую категорию продукта? По сути, я хочу перенаправить массу продуктов на простую целевую страницу, которую я создал, поэтому вместо того, чтобы делать перенаправления для каждого продукта, я хочу настроить таргетинг на родительскую категорию (производителя) и перенаправить ее на мою одну целевую страницу.
Вот как эти:
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/
Все перенаправят на эту целевую страницу:
https://example.com/replacement-parts/baader/baader-600/
Поэтому я полагаю, что вы бы выбрали все, что содержит «product/baader/baader-600/», а затем убрали бы последнюю часть URL (/baader-600-belts/belt-rubber/) и перенаправили бы его на «/replacement-parts/baader/baader-600/». Я понятия не имею, как сделать sus правилом RewriteRule.
решение1
Добро пожаловать в ServerFault.
Нам не нужны сложные переписывания, чтобы достичь этого. Следующее будет работать...
location /product/baader/baader-600/ { return 302 /replacement-parts/baader/baader-600/; }
Перепишите эквивалент...
rewrite ^/product/baader/baader-600/ http://example.com/replacement-parts/baader/baader-600/;
Если вам требуется 301-перенаправление, то вот эквиваленты...
location /product/baader/baader-600/ { return 301 /replacement-parts/baader/baader-600/; }
rewrite ^/product/baader/baader-600/ /replacement-parts/baader/baader-600/ permanent;
решение2
Если предположить, что производитель должен быть динамичным, то можно добавить такое правило.
location ~ /product/(.+) {
rewrite ^.*(\/product\/)([\w|-]*)\/(.*)\/.*$ /replacement-parts/$2/$3 permanent;
}
Here $2 is a second match group for manufacturer, and $3 contains product part.