Pregunta

Estoy luchando para que un código funcione para un antiguo sitio de la tienda ASP que administro. He agregado lo siguiente que funciona perfectamente bien

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

¡El problema es si la página de categoría tiene más de una página! Como agrega otro par de parámetros a la cadena de consulta como tal

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

Estoy buscando un ejemplo de cómo tomar tres parámetros de cadena de consulta más y adjuntarlos a la URL reescrita ... ¿Alguien puede ayudar, por favor?

Por ejemplo, actualmente la siguiente URL funciona bien

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

¿Tengo que hacer algo como lo siguiente cuando tengo más de una página? ¿Pero no conoces la sintaxis ISAPI?

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

Espero que tenga más sentido?

¿Fue útil?

Solución

Creo que esto es lo que estás preguntando, configura el argumento [L] para que deje de coincidir en la primera coincidencia. ?

Pero [L] requiere que las ordenes por primera vez más restrictivas, 4 args, luego 3, 2 etc ...

  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]
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top