Справка по синтаксису перезаписи ISAPI?
-
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]