Настройка 301 редиректа

T4
На сайте с 14.12.2008
Offline
60
612

Добрый день!

Заказчик решил поменять структуру урлов на сайте:

1) БЫЛО:

www.site.ru/shop/intl/ru/mersedes

www.site.ru/shop/intl/ru/audi

www.site.ru/shop/intl/ru/volkswagen

и т.д.

СТАЛО:

www.site.ru/mersedes

www.site.ru/audi

www.site.ru/volkswagen

т.е. разница только в отсутствии фрагмента урла shop/intl/ru/ на новом сайте

2) плюс в нескольких УРЛах еще и поменялись окончания:

было: www.site.ru/shop/intl/ru/opel_astra

стало: www.site.ru/opel

Подскажите, пожалуйста, код htaccess'a для редиректа по шаблону со старых УРЛов на новые (mod_rewrite). Также интересно как быть во втором случае, чтобы и окончания нескольких УРЛов также "средиректить" на новые?

C
На сайте с 19.09.2001
Offline
120
#1

t0x4, редирект для всех URL настраивается одним правилом:

RewriteBase /
RewriteRule ^shop/intl/ru/(.*)$ http://site.ru/$1 [R=301,L]

Специфические URL надо вставлять отдельными правилами, по вашему примеру так:

RewriteBase /
RewriteRule ^shop/intl/ru/opel_astra$ http://site.ru/opel [R=301,L]
RewriteRule ^shop/intl/ru/(.*)$ http://site.ru/$1 [R=301,L]
С уважением, Владимир Чернышов. (не)?путевые заметки (http://chernyshov.kiev.ua/)
siv1987
На сайте с 02.04.2009
Offline
427
#2
t0x4:
Также интересно как быть во втором случае, чтобы и окончания нескольких УРЛов также "средиректить" на новые?

Пишите построчно редиректы у которых поменялись окончания, потом общий для всех

RewriteEngine On

RewriteRule ^shop/intl/ru/opel_astra$ /opel [R=301,L]

RewriteRule ^shop/intl/ru/opel_omega$ /omega [R=301,L]

RewriteRule ^shop/intl/ru/(.+)$ /$1 [R=301,L]

T4
На сайте с 14.12.2008
Offline
60
#3

siv1987, Cherny,

Спасибо, попробую!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий