Справка по синтаксису перезаписи ISAPI?

StackOverflow https://stackoverflow.com/questions/810982

  •  03-07-2019
  •  | 
  •  

Вопрос

Я изо всех сил пытаюсь заставить какой-то код работать для старого сайта ASP store, которым я управляю - я добавил следующее, которое работает отлично

RewriteBase /
RewriteRule ^cat/[^?/]*_(\d+)\.htm /store/prodList.asp?idcategory=$1 [QSA]

Проблема в том, что на странице категории больше одной страницы!Поскольку он добавляет еще пару параметров к строке запроса следующим образом

/store/prodList.asp?idcategory=102&curPage=2&sortField=sortorder

Я ищу пример того, как взять еще три параметра querystring и добавить их к переписанному URL...Кто-нибудь может помочь, пожалуйста?

Так, например, в настоящее время следующий URL работает нормально

cat/productname_5.htm ... equates to ... /store/prodList.asp?idcategory=5

Мне нужно сделать что-то вроде следующего, когда у меня более одной страницы?но вы не знаете синтаксис ISAPI?

cat/productname_5_2_sortorder.htm ... would equate to ... /store/prodList.asp?idcategory=5&curPage=2&sortField=sortorder

Надеюсь, в этом больше смысла?

Это было полезно?

Решение

Я думаю, это то, о чем вы просите, установите аргумент [L], чтобы он перестал совпадать при первом совпадении.?

Но [L] требует, чтобы вы сначала упорядочили их по наиболее строгим критериям, 4 аргумента, затем 3, 2 и т.д...

  ReWriteRule ^/store/([0-9]+)/([0-9]+)/{0,1}$ /store/prodList.asp\?idcategory=$1&curPage=$2 [L]

  ReWriteRule ^/store/([0-9]+)/([0-9]+)/([A-Za-z]+)/{0,1}$ /store/prodList.asp\?idcategory=$1&curPage=$2&sortField=$3 [L]
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top