Lo rojo es la URL real, cada número identifica a cada una de las variables que envías por querystring.
RewriteRule ^foro/([0-9]*)/([a-zA-Z0-9_-]+).* /foro.asp?id=$1&name=$2
Lo verde es lo que debe escribir el usuario. Si se cumple esa regla Isapi Rewrite mostrará la página roja enviándole cada variable numerada.
Habrá tantas variables como paréntesis. $1 será el primer paréntesis empezando por la izquierda, $2 el segundo paréntesis, etc.
Pueden existir muchos paréntesis en la regla y no pasar ninguna variable por querystring.
RewriteRule ^noticia/([0-9]*).* /noticias.asp
Pero aunque no envies nada, obviamente la regla debe cumplirse.
Según la regla
RewriteRule ^foro/([0-9]*)/([a-zA-Z0-9_-]+).* /foro.asp?id=$1&name=$2, si el usuario escribe
http://www.dominio.com/foro/23/
nombre-foro
Se mostrará:
http://www.dominio.com/foro.asp?id=23&name=
nombre-foro
Pero se tiene que cumplir la regla.
Con
([0-9]*) le estás diciendo que después de "foro/" debe de haber un número y con
([a-zA-Z0-9_-]+) un alfanúmerico.
Si el usuario escribiera
http://www.dominio.com/foro/cualquiertexto/
nombre-foro la regla no se cumpliría, porque "cualquiertexto" no es un número.
¿Has comprado la licencia de Isapi Rewrite? Si utilizas IIS 7 puedes instalar URL REWRITE y configurarlo a través del panel de IIS o del archivo web.config.
Además es gratis.
Isapi Rewrite funciona bien pero me parece una mala política que no vendan licencias conjuntas para desarrollo y producción.