Ну, этот должен сделать работу за вас:
RewriteRule ^products/([^/]+)/[0-9-]+/([^/]+)\.html$ $1-$2.html [R=301,L]
Он будет перенаправлять /products/MFG/2010-04-01/1234.html
на /MFG-1234.html
.
Не проверяет параметры (MFG, SKU, дата):
- Часть
MFG
может быть чем угодно в пределах 1 сегмента пути (что означает любой символ, кроме косой черты /
): это могут быть буквы, цифры, символы Unicode и т. Д. Если вам нужно ограничить его - просто измените шаблон ([^/]+)
к любым ограничениям, которые вы хотите иметь;
- Часть
date
имеет очень простую проверку - разрешены только цифры и -
. Так что даже 123456-09876
будет работать. Еще раз - если вам нужна более точная проверка, просто измените шаблон;
- Часть
SKU
- та же проверка на месте, что и для MFG
part.
Это правило предназначено для размещения в .htaccess в корневой папке сайта. При размещении в другом месте может потребоваться небольшая настройка.