문제
나는 내가 관리하는 오래된 ASP 상점 사이트에서 코드를 작동시키기 위해 고군분투하고 있습니다 - 나는 완벽하게 잘 작동하는 다음을 추가했습니다.
RewriteBase /
RewriteRule ^cat/[^?/]*_(\d+)\.htm /store/prodList.asp?idcategory=$1 [QSA]
문제는 카테고리 페이지에 하나 이상의 페이지가있는 경우입니다! 쿼리 스트링에 또 다른 몇 개의 매개 변수를 추가함에 따라
/store/prodList.asp?idcategory=102&curPage=2&sortField=sortorder
나는 세 개의 쿼리 스트링 매개 변수를 더 가져 와서 다시 작성한 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 개의 args, 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]
제휴하지 않습니다 StackOverflow