Entradas con la etiqueta ‘url limpias’

URL Amigables (y III) (ASP)

Domingo, 24 de Agosto de 2008

Bueno, lo del retraso va a ser lo usual en mi por lo que parece, pero entre que he estado muy liado con un proyecto grande y que en medio he estado de vacaciones he tardado un poco en escribir esta entrada.

En esta entrada, que en principio será la última de las URL Amigables, vamos a ver cómo implementarlas en ASP 3.0 sobre IIS, como mi hosting es PHP no puedo poner ningún ejemplo on-line, pero si pondré un ejemplo comprimido en formato zip para que lo podáis probar en vuestro IIS.

Al igual que en php lo que vamos a utilizar para simuar el módulo ReWrite de Apache es usar la página de error 404. Para ello lo que hay que hacer es crear el sitio web en el IIS. Luego editamos el sitio web, para ello pulsamos con el botón derecho sobre el sitio web y accedemos a las propiedades del sitio web. Una vez que estamos en las propiedades del sitio web, pincha sobre la carpeta de errores personalizados. Allí deberás de cambiar todos los errores que se generan con el error 404, generalmente hay 3 (al menos en el IIS6 de Windows 2003, que es yo utilizo). La url que debes poner es /controllers/controller.asp (para mi ejemplo, en otro caso deberás poner el fichero que desees). Como puedes ver es lo mismo que hice en PHP.

Ahora ya solo nos queda procesar la URL y dirigirnos al módulo necesario.

ASP:
  1. <%
  2. '  Vamos a averiguar el controlador que se nos ha pedido.
  3. strController = replace(Request.QueryString, "404;http://localhost/urlamigables:80/", "")
  4.  
  5. aControl = split(strController, "/")
  6.  
  7. Control = ""
  8. Param = ""
  9.  
  10. If IsArray(aControl) And UBound(aControl)&gt; 0 Then
  11. Control = aControl(0)
  12. Session("ParamController") = Replace(strController, aControl(0) &amp; "/", "")
  13. Else
  14. '  No es array, con lo que no hay ninguna barra y el strController es el control.
  15. Control = strController
  16. Session("ParamController") = ""
  17. End If
  18.  
  19. Select Case LCase(Control)
  20. Case "modulo1" :
  21. Server.Execute("modulo1.asp")
  22. Case "modulo2"
  23. Server.Execute("modulo2.asp")
  24. Case Else :
  25. Server.Execute("404.asp")
  26. End Select
  27. %>

puedes ver es lo mismo que hice en PHP

Bueno básicamente ya solo quedan los ficheros de los módulos y el fichero de acciones, que no tienen mucho que ver, los podéis ver en el zip con todos los ficheros necesarios.

Fichero Zip con un ejemplo de las url amigales.

Pues ya está acabada esta serie de 3 artículos sobre las URLs Amigables. Espero que mi próximo artículo no se espacie mucho en el tiempo, pero es que estoy muy liado, hay veces que estoy muy ocioso, y otras veces me salen 3 trabajos a la vez, y no los puedo rechazar.

URLs Amigables (I)

Domingo, 27 de Abril de 2008

En la actualidad el uso de URLs Amigables (o en inglés SEO URLs) se está expandiendo mucho puesto que Google te indexa mejor en las búsquedas.

En este post voy a explicar cómo hacer lo de las URLs amigables sin utilizar el módulo de Apache Rewrite y sin necesidad de ningún componente (para IIS).

Para empezar lo primero que tenemos que ver qué son las URLs amigables. Estas URLs son las direcciones pero sin parámetros. Por ejemplo este post tiene una dirección que es http://www.petralinkfactory.com/2008/04/27/url-amigables-i. Una URL "no amigable" sería http://www.petralinkfactory.com/?post=1234 (no creo que esta dirección funcione puesto que la he puesto de ejemplo).

El truco que voy a explicar es para programar nuestras propias páginas webs, para WordPress el propio sistema nos permite seleccionar las URLs amigables en las configuraciones de los post.

Ya que no tenemos el módulo Rewrite disponible, bien por que estamos en un hosting compartido (que ya es raro que ocurra) o bien puesto que nuestro hosting es Windows sobre IIS, el truco es usar una pequeña zapuza, el error 404.

Entonces el fichero de error 404 va a ser el encargado de recoger la url y hacer las acciones pertinentes para ejecutar la página que corresponda.

Esta técnica de usar el error 404 no es recomendable para gente que ya tenga programado un sitio web entero, puesto que tendréis que cambiar todas las páginas webs que querráis que tengan URL limpias, para adaptarlas a la forma de trabajar de las URL amigables.

Para la programación de las páginas públicas yo lo que hago es analizar la url de manera que a cada módulo de la web (agenda, noticias, secciones de texto, ...) le asigno un "controlador", que no es más que el nombre del módulo, para luego seguir con los "parámetros" que van a ser necesario para dicho módulo.

En el siguiente capítulo empezaré a poner ejemplos de código.