@vimbatu

Как правильно написать регулярное выражение для 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-.

По техническим соображениям эту черточку пришлось заменить на =, то есть теперь фильтр создает адреса вида:

/filter/tsvet=chernyy/available=yes/model=iphone_13=or=iphone_xs_max=or=iphone_12_pro/obem_pamyati=256_gb

Проблема в том, что предыдущие варианты адресов с черточкой проиндексированы поисковиками, и нужно сделать 301 редирект на новые адреса, чтобы ничего не потерялось из поиска.

Как написать правильную регулярку, чтобы, при условии наличия в адресе названия свойства с тире (любого) или перечисления значений свойства через -or- (в любом количестве), он менял их на то же самое с равно вместо тире? Просто менять тире на равно нельзя, потому что в адресе могут быть другие тире, например в названии или значении свойства, или в дополнительных GET параметрах.

Спасибо.
  • Вопрос задан
  • 155 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы