문제

나는 내가 관리하는 오래된 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]
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top