Редирект 50 000 страниц, как правильно сделать?

Правила RewriteRule проверяютя в том порядке, в котором они записаны в файле. Запрос поочерёдно сравнивается с шаблонами в RerwriteRule и при первом же совпадении правило исполняется.
(.*) совпадает с любой строкой, так что первое правило будет срабатывать и на "kholodilniki/86930-kholodilniki-samsung-rb-33-j3420bc-12398226.html"
Ну и на новом сайте там слеш в конце и два раза kholodilniki "/catalog/kholodilniki/kholodilniki-samsung-rb-33-j3420bc/"
Код:
RewriteRule ^\d+-([^/]+)$ https://newsite.ru/catalog/$1 [R=301,L]
RewriteRule ^([^/]+/)\d+-([^/]+)-\d+\.html$ https://newsite.ru/catalog/$1$2/ [R=301,L]

чтот не срабатывает на ссылке товара
upload_2019-4-18_15-2-36.png
 
чтот не срабатывает на ссылке товара
Посмотреть вложение 103503
Когда только начинаешь работать с mod_rewrite, логично предполагаешь, что он работает со ссылками. Однако в случае с использованием mod_rewrite в .htaccess это не так. На самом деле в RewriteRule передается не ссылка, а путь до запрошенного файла. В строке которая сравнивается с шаблоном RewriteRule нет домена и GET параметров и эта строка не начинается с "/".

Для просмотра ссылки Войди или Зарегистрируйся

Для просмотра ссылки Войди или Зарегистрируйся
 
Назад
Сверху