¿Nuevo usuario?
Puedes registrarte aquí
 
       
Menú principal
 
 Navegación
Buscar
dpForo
dpFAQ
dpManuales
dpDescargas
dpThemes
Noticias por Temas
Recomiéndanos
Enlaces
Créditos
dzStaffStatus
Miembros:  Administradores
No Conectado  el_cuervo  
No Conectado  Dixso  
Miembros:  Colaboradores
No Conectado  AnyKiller  
No Conectado  nestormateo  
No Conectado  docser  
Miembros:  Moderadores
No Conectado  cardiru  
No Conectado  javiermisol  
Miembros:  Traductores
No Conectado  gnrx  
Miembros:  Miembros:
Ultimo:  Nuevos Hoy: 0
Ultimo:  Nuevos Ayer: 1
Ultimo:  Total: 73007
Ultimo:  Ultimo:
Chid0
Miembros:  Conectados
Miembros:  Miembros: 0
Invitados:  Invitados: 42
Total:  Total: 42
Miembros:  Miembros Online
No hay miembros conectados
Sponsor
dp-Tools
 Generador de Menús
 Pop-Up Maker
 Generador de Bloques
 Generador de Módulos
Enlázanos


Texto del enlace:


Otros Banners:



Theme creado por
dev-postnuke.com
  Reescritura de URLs en PostNuke 0.8 
Enviado por nestormateo en Martes, 26 Febrero, 2008
dpDocs
PostNuke 0.8 está lleno de buenas sorpresas, especialmente en el caso de la reescritura de las URLs que ha sido totalmente re-trabajada. Así PostNuke ofrece varios métodos con el fin de ayudarnos a hacer más atractivos las URLs:

Principios de mod rewrite

Como información, la reescritura de URL es un módulo que se puedes activar en tu Apache para reescribir los enlaces de un sitio con el fin de simplificar su lectura. La idea es que el equipo PostNuke también pensó que este módulo no esta disponible y activado en todos los tipos de servidores (en particular en los servidores de Windows). De hecho, PostNuke ofrece soluciones basadas en re-escritura de URLs ya muy utilizado en los sistemas de gestión, como los blogs. Antes de comenzar, este es el formato de un enlace sin reescritura:

Sin re-escrituraindex.php?module=Users&func=logout

Re-escritura de URLs sin mod rewrite

Esta re-escritura reproduce un sistema de carpetas "virtual" en tu sitio, para que los vínculos tengan este aspecto:

URL re-escrita sin mod rewriteindex.php/Users/logout

En términos del mecanismo, que es muy simple, cuando el servidor Web recibe una solicitud de un enlace, carga instintivamente la página "index.php". En este index.php, los parámetros de la petición se recuperan a través de la cabecera (puedes ver que en "phpinfo" hay un campo $ _SERVER['REQUEST_URI'], que corresponde a esta información). Luego estos parámetros se interpretan así: la palabra entre los dos primeros , entre el los dos primeros "/" es el nombre del módulo, entre los dos otros, el nombre de la función. PostNuke ahora sabe el nombre del módulo y la función a utilizar.

Puedes pasar parámetros también, por ejemplo, si quieres ver el foro con id=2, el enlace lucirá así:

URL re-escrita sin mod rewriteindex.php/Forum/viewforum/forum/2

Nota que en la re-escritura de URLs después del nombre del módulo y la función, los parámetros son separados también con "/" en la URL. pero no puedes pasar variables como "index.php?variable=filter/3".

Re-escritura de URLs con mod rewrite

Optimizando la versión anterior

En el ejemplo anterior, todos los enlaces contienen index.php ... pero eso es feo, y funcionalmente este archivo no contiene ninguna información útil ni para el módulo a cargar ni para los motores de búsqueda. Ese truco es útil cuando no tienes mod rewrite, pero si tienes mod rewrite habilidato en tu servidor, puedes usar una versión más "ligera" de la re-escritura anterior sin el "index.php"

Aquí un ejemplo

Re-escritura de URLs con mod rewrite: Optimizando la versión anterior/Users/logout

Se cuidadoso si una de tus imágenes es re-escrita de esta manera: <img src="test.png"> y tu cargas la página /MiModulo/main/. "/MiModulo/main/test.png" será la ruta de la imágen y no aparecerá en el navegador.

Modo de archivo

Este modo de re-escritura de URLs es la versión clásica ya usada en las versiones 0.7x de PostNuke, los enlaces re-escritos son una lista de palabras (nombre del módulo, nombre de la función) separados por guiónes. Nota que este modo usa un largo número de reglas de expresión regular para hacer la re-escritura, lo cual puede incremental la carga de tu servidor Web.

Un ejemplo:

Re-escribiendo URLs con mod rewrite : Modo de archivomodule-Forum-viewtopic-topic-2903-start-0.html

Nota que la palabra "module" es incluida sólo para soportar el "viejo estilo" en la carga de módulos.

Re-escritura de URLs personalizada

Finalmente aquí está la mejor característica, que te permite personalizar la re-escritura de la URL dependiendo del módulo que es cargado. Sólo hay que crear una función "encodeurl" en el API de usuario del módulo (pnuserapi) que toma de los parámetros la información necesaria para crear la salida a partir del enlace totalmente personalizado.

Después, al cargar cada página, PostNuke envia los parámetros a dicha función "decodeurl" en el API para que se extraiga la información necesaria de la URL codificada y se la pase de en una forma entendible al núcleo de PostNuke.

Puedes encontrar ejemplos del uso de este método en los módulos "Pages" y "News"

Formato de las funciones para codificar y decodificar URLs function news_userapi_encodeurl($args) function news_userapi_decodeurl($args) function pages_userapi_encodeurl($args) function pages_userapi_decodeurl($args)

Esta característica es interesante poque nos permite manipular las URL, no sólo antes de cargar la página, sino que también después de cargar la página, ejecutar acciones bastante interesantes.

Este método te permite

  • Poner palabras claves en la URL: (veasen los módulos Pages y News)
  • Tener una versión única de tus URL re-escritas: En efecto, a través del post-procesamiento tu puedes re-calcular las URLs que no cumplen con el formato deseado, y redireccionarlas al enlace correcto mediante una Redirección permanente (Redirect 301 - "Moved Permanently headers").

Caso de uso de una re-escritura URL evitando enlaces duplicados

Notas: Un pequeño problema, sin embargo, para el uso de esta reescritura, es que se limita a la URL tipo "user".
Este artículo es una traducción de ese "how to" puesto publicado en la comunidad Postnuke-Francia.


Enviar esta historia a un amigo Versión imprimible 

Reescritura de URLs en PostNuke 0.8 | Entrar/Crear una cuenta | 0 Comentarios
Los comentarios son propiedad de sus respectivos autores.
No somos responsables de su contenido.

Inicio  |  dpFaq  |  dpManuales  |  dpDescargas  |  dpThemes  |  Contacta

Web site powered by PostNuke MySQL PHP Postnuke Spain PHP RSSPixel Add to Technorati Favorites

Todos los logos y marcas registradas en este sitio son propiedad de sus respectivos dueños. Los comentarios son propiedad de sus autores, el resto es de este sitio Web (c) 2003, que fue creado con PostNuke, un sistema portal Web escrito en PHP. PostNuke es Software Libre liberado bajo la licencia GNU/GPL.

dixso.net :: Desarrollo Web.

HOSPEDAJE Y DOMINIOS -- Tu Hosting
Alojamiento Web --- Registro de Dominios