Estas son las reglas de reescritura estándar con las que inicio cada proyecto. Yo uso URL única limpias para todas las páginas (Ejemplo primera regla funciona para www.example.com/about y la segunda regla www.example.com/product/123)
<rewrite>
<rules>
<rule name="Rewrite default to aspx" stopProcessing="true">
<match url="^$" ignoreCase="false" />
<action type="Rewrite" url="default.aspx" />
</rule>
<rule name="Rewrite page to aspx" stopProcessing="true">
<match url="^([a-z0-9/]+)$" ignoreCase="false" />
<action type="Rewrite" url="{R:1}.aspx" />
</rule>
</rules>
</rewrite>
páginas en las que necesito para analizar la Identificación (sólo este número de caso) y añadirlo a la cadena de consulta agrego una regla similar a la parte delantera:
<rule name="Rewrite Product ID" stopProcessing="true">
<match url="^product/([0-9]+)$" ignoreCase="false"/>
<action type="Rewrite" url="product.aspx?id={R:1}"/>
</rule>
Si desea utilizar letras mayúsculas y minúsculas en la URL, establecer ignoreCase = "true"
Edita para responder a tu segunda pregunta más un bonus
Esta regla se redirigirá aspx a la URL limpia:
<rule name="Redirect to clean URL" stopProcessing="true">
<match url="^([a-z0-9/]+).aspx$" ignoreCase="true"/>
<action type="Redirect" url="{R:1}"/>
</rule>
Reemplazar url = "{R: 1}" con url = "{ToLower: {R: 1}}" para cambiar el URL a minúsculas Vea a continuación por qué querría hacer esto.
También es una buena idea actualizar la acción Formulario para que las publicaciones posteriores no vuelvan a la URL fea. El uso de IIS 7.5 o posterior esto debería funcionar:
if (!String.IsNullOrEmpty(Request.RawUrl))
form1.Action = Request.RawUrl;
o para IIS 7:
if (!String.IsNullOrEmpty(Context.Request.ServerVariables["HTTP_X_ORIGINAL_URL"]))
form1.Action = Context.Request.ServerVariables["HTTP_X_ORIGINAL_URL"];
Una cosa más a tener en cuenta ... que es una buena idea para mantener todas las direcciones URL en minúsculas. Mezclar caracteres en mayúscula/minúscula en la URL crea problemas de contenido duplicados para SEO/Google. Por ejemplo, website.com/About y web.com/about cargarán la misma página, pero Google los indexará en dos páginas separadas.
¡Eres el hombre! Solo una cosa si sabes cómo hacerlo, ahora necesito enviarles la URL y agregar el aspx sin que ellos lo vean, pero ¿es posible que si van al .aspx eliminará el .aspx? – Danpe
Se actualizó la respuesta para incluir su segunda pregunta. – Serge
Intenté usar esto para mi URL rewirte en uno de mis proyectos. la extensión de eliminación funciona perfectamente. sin embargo, parece que tengo problemas con las ventanas emergentes de Ajax. en mi Extensor de elementos emergentes de Modal y en los prolongadores de ventanas emergentes del calendario. Levanté un boleto en esto. pero no hay respuesta hasta el momento. http://stackoverflow.com/questions/33243017/url-rewrite-create-compactible-issues-with-ajaxtoolkit – Lemdor