Foros del Web » Programando para Internet » ASPX (.net) »

Rewrite y redirect en web.config (URLs amigables)

Estas en el tema de Rewrite y redirect en web.config (URLs amigables) en el foro de ASPX (.net) en Foros del Web. Hola a tod@s. Queremos aplicar urls amigables a un proyecto en ASP clásico. Primeramente queremos que una url amigable del tipo www.emaginarte.es/articulos/2 cargue una real ...
  #1 (permalink)  
Antiguo 12/07/2016, 03:59
 
Fecha de Ingreso: enero-2012
Mensajes: 19
Antigüedad: 12 años, 2 meses
Puntos: 0
Pregunta Rewrite y redirect en web.config (URLs amigables)

Hola a tod@s.
Queremos aplicar urls amigables a un proyecto en ASP clásico.

Primeramente queremos que una url amigable del tipo
www.emaginarte.es/articulos/2
cargue una real
www.emaginarte.es/articulo.asp?pag=2
por tanto hemos preparado un web.config con lo siguiente:
<rule name="Rewrite paginado articulos" >
<match url="^articulos/([_0-9a-z-]+)" />
<action type="Rewrite" url="articulo.asp?pag={R:1}" />
</rule>
Funciona muy bien.

Seguidamente, el problema lo tenemos cuando queremos que las entradas url que se generan con vínculos internos, pongan en el navegador su url amigable, por ejemplo, cuando hay un vínculo a :
www.emaginarte.es/articulo.asp?pag=2
ponga:
www.emaginarte.es/articulos/2
Hemos incluido en el web.config:
<rule name="Redireccion paginado articulos">
<match url="^articulo.asp$" />
<conditions>
<add input="{QUERY_STRING}" pattern="pag=(\d+)" />
</conditions>
<action type="Redirect" url="/articulos/{R:1}/" redirectType="Permanent" />
</rule>
No nos hace caso. No hace nada. Estamos ya perdidos. Necesitamos ayuda.

Os pongo el web.config completo: (Las urls y el dominio son reales para hacer pruebas).
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<httpErrors errorMode="Detailed" />
<rewrite>
<rules>
<rule name="Rewrite paginado articulos" >
<match url="^articulos/([_0-9a-z-]+)" />
<action type="Rewrite" url="articulo.asp?pag={R:1}" />
</rule>
<rule name="Redireccion paginado articulos">
<match url="^articulo.asp$" />
<conditions>
<add input="{QUERY_STRING}" pattern="pag=(\d+)" />
</conditions>
<action type="Redirect" url="/articulos/{R:1}/" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Gracias.
  #2 (permalink)  
Antiguo 13/07/2016, 11:43
 
Fecha de Ingreso: agosto-2010
Mensajes: 126
Antigüedad: 13 años, 7 meses
Puntos: 9
Respuesta: Rewrite y redirect en web.config (URLs amigables)

Hola que tal, todo esto lo podes solucionar utilizando Sitemap, SitePages y Variable de Session. Con todo esto evitas pasarle parámetros a tu url.
  #3 (permalink)  
Antiguo 14/07/2016, 01:14
 
Fecha de Ingreso: enero-2012
Mensajes: 19
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Rewrite y redirect en web.config (URLs amigables)

Gracias por tu rápida respuesta.
Entiendo que utilizando variables de sesión no 'ensuciamos' las urls con parámetros '? id = ...', pero no convertimos los vínculos en amigables.
Respecto al sitemap, entiendo, nos facilita identificar las páginas que hay en el site a los indexadores, pero no facilita, entiendo, que las urls sean amigables?
Por favor, igual no he entendido bien tu propuesta o/y por favor, dame un ejemplo. Gracias.

Etiquetas: amigables, asp, asp-clásico, redirect, rewrite, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:05.