Как правильно написать регулярное выражение для urlrewrite.php в битрикс?
Добрый день.
Помогите правильно написать регулярку для подмены url'ов через urlrewrite.php. Вариант с настройкой через .htaccess в данном случае не подходит по SEO соображениям.
Суть задачи - есть набор урлов, которые создает фильтр на сайте, вида:
/filter/tsvet-chernyy/available-yes/model-iphone_13-or-iphone_xs_max-or-iphone_12_pro/obem_pamyati-256_gb
и так может быть много приписок в зависимости от выбранных фильтров. После слеша идет название свойства (/model) дальше тире и после перечисление выбранных значений через -or-.
По техническим соображениям эту черточку пришлось заменить на =, то есть теперь фильтр создает адреса вида:
Проблема в том, что предыдущие варианты адресов с черточкой проиндексированы поисковиками, и нужно сделать 301 редирект на новые адреса, чтобы ничего не потерялось из поиска.
Как написать правильную регулярку, чтобы, при условии наличия в адресе названия свойства с тире (любого) или перечисления значений свойства через -or- (в любом количестве), он менял их на то же самое с равно вместо тире? Просто менять тире на равно нельзя, потому что в адресе могут быть другие тире, например в названии или значении свойства, или в дополнительных GET параметрах.