مساعدة ISAPI إعادة كتابة بناء الجملة؟

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

  •  03-07-2019
  •  | 
  •  

سؤال

وأنا تكافح من أجل الحصول على بعض التعليمات البرمجية تعمل لموقع متجر 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 وسائط، ثم 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