Por ASP clásico / 11/10/2015 @ 13:46:38 / 1584 visitas
El Internet Information Information Services (IIS) permite crear urls amigables para mejorar el posicionamiento SEO. Para ello debe instalar y activar el módulo de rewrites del IIS. Una vez funcionando, configuramos todo el enrutado a través del web.config.
Debemos crear reglas usando expresiones regulares para redigir las urls que necesitemos. Vamos a usar dos tipos:
Primero debemos definir que estamos en el modulo rewrite y que vamos a crear unas reglas. Luego definimos la regla, la marcamos con un nombre único:
<rewrite> <rules> <rule name="Rewrite paginado"> <match url="^productos/([0-9]+)/" /> <action type="Rewrite" url="producto.asp?pag={R:1}" /> </rule></rules></rewrite>
Explicación: dentro de la regla, definimos un "match", que es la ruta amigable creada, en ella tenemos un primer nivel con productos, y un segundo con el paginado. Al ser un paginado numérico, añadimos una expresión regular que sólo admita números. Después está marcada la acción a realizar, en este caso, un rewrite. Con él marcamos que la url equivalente que se reescribe, es la antigua de /articulo.asp?pag=3.
Ahora que hemos conseguido que el IIS entienda las nuevas urls, vamos a redirigir las antiguas a las nuevas amigables. Para ello creamos una nueva regla, en este caso sera un redirect, que redirigirá la antigua url a la nueva. Incluimos esta nueva regla dentro de la estructura anterior de rules.
<rule name="Redireccion paginado productos"> <match url="^productos$" /> <conditions> <add input="{QUERY_STRING}" pattern="pag=(\d+)" /> </conditions> <action type="Redirect" url="/productos/{R:1}/" redirectType="Permanent" /></rule>
En este caso, añadimos un nuevo elemento, las condiciones. Éstas nos permitirán filtrar cierto tipo de eventos. En este caso, al ser un querystring, añadimos como dato de entrada la página, y luego marcamos en la redirección como queremos mostrarla con {R:1}
Otro ejemplo ahora con varios parámetros y condiciones:
<rule name="Redireccion de articulo con categoria"> <match url="^articulos.aspx$" /> <conditions> <add input="{QUERY_STRING}" pattern="cat=(\d+)" /> <add input="##{R:1}##_{QUERY_STRING}" pattern="##([^#]+)##_.*art=(\d+)" /> </conditions> <action type="Redirect" url="/articulos/{R:1}/{R:2}" redirectType="Permanent" appendQueryString="false" /></rule>
En el ejemplo vemos dos variables por query strings, que se redirigen a una ruta perfectamente formada con dos niveles amigables.
Una redirección común para el posicionamiento es la siguiente (añade www al inicio de la URL):
<rule name="without-www-to-with-www"> <match url="^(.*)$" /> <conditions logicalGrouping="MatchAll"> </add input="{HTTP_HOST}" pattern="^dominio.com" /> </conditions> <action type="Redirect" url="http://www.dominio.com/{R:1}" /></rule>
Es todo...
Descubre más sobre cómo simplificar y optimizar tu trabajo empresarial en el Blog de CoreASP.
Descargo de Responsabilidad:
El contenido y los recursos que ofrecemos en CoreASP están destinados únicamente a proporcionar herramientas y ejemplos prácticos para el desarrollo en ASP Clásico. Esta información es de carácter general y no debe considerarse asesoramiento profesional o técnico específico para tu proyecto. Aunque hacemos todo lo posible por asegurar la calidad y precisión de los recursos compartidos, no garantizamos que sean completamente libres de errores o que se ajusten perfectamente a todas las situaciones. CoreASP no se responsabiliza por cualquier pérdida, daño o inconveniente derivado del uso directo o indirecto de los recursos o información proporcionada. Además, CoreASP no respalda ni asume responsabilidad por enlaces o contenido de terceros que puedan estar referenciados en nuestra plataforma. Todos los derechos de propiedad intelectual sobre el contenido y recursos publicados en CoreASP pertenecen a CoreASP o a sus respectivos propietarios, y su uso está sujeto a las condiciones de la licencia especificada para cada recurso. Nos reservamos el derecho de modificar este descargo de responsabilidad en cualquier momento sin previo aviso. Para más detalles, consulta el documento completo de términos y condiciones.
13/07/2025 @ 10:56:59
23/05/2025 @ 14:09:59
07/04/2025 @ 07:54:51
29/03/2025 @ 16:49:42
12/02/2025 @ 10:15:42
21/01/2025 @ 16:21:11