Regex разделить на подчеркивание для RewriteURL

Я использую Isapi Rewrite для IIS и хочу сделать SEO-ориентированные URL-адреса для динамической страницы продукта.

Мне нужно отделить SKU от названия продукта одним параметром строки запроса. Артикул - это всегда первая часть, за которой следует подчеркивание. Все, что идет после подчеркивания, является названием продукта. Название продукта использует тире между словами.

Это то, что я имею до сих пор, и он просто возвращает всю строку запроса в одном параметре. Мне нужно разделить его на подчеркивание, как показано ниже, чтобы я получил два значения $1 и $2.

RewriteRule ^Store/([^/]+) Store/Product.aspx?sku=$1&name=$2  [QSA,NC]
  • 1234_name-магазин /
  • // $1: 1234
  • // $ 2: имя-имя

  • Магазин / mn98765_name

  • // $1: mn98765
  • // $ 2: имя

  • Имя-имя-sk000p9_name Магазин /

  • // $1: sk000p9
  • // $ 2: имя-имя-имя

1 ответ

Решение

Вы хотите захватить две группы с двумя отдельными паренами. Попробуй это:

RewriteRule ^Store/([^_]+)_([^/]+) Store/Product.aspx?sku=$1&name=$2 [QSA,NC]
Другие вопросы по тегам