Ver Mensaje Individual
  #6 (permalink)  
Antiguo 24/05/2009, 09:23
Avatar de jonak
jonak
 
Fecha de Ingreso: mayo-2009
Mensajes: 34
Antigüedad: 15 años
Puntos: 0
Respuesta: Cambiar titulo en una web dinamica

Lo que estas necesitando son "urls amigables" (friendly url) y esto lo logras con un archivo ".htaccess". En este archivo puedes definir reglas para que por un lado el navegador vea una "url amigable" tal como "midominio/seccion/contacto" y por otro lado el servidor vea "midominio/index.php?seccion=contacto".

Ejemplo de archiivo .htaccess :

Código:
RewriteEngine On

RewriteRule ^seccion/(.+)/id/(.+) index.php?seccion=$1&id=$2 [L,NC]
RewriteRule ^seccion/(.+) index.php?seccion=$1 [L,NC]
Explicación:

La linea con "RewriteEngine On" habilita la re-escritura de reglas (RewriteRule).
Luego aparecen dos reglas, la primera es:

Código:
RewriteRule ^seccion/(.+)/id/(.+) index.php?seccion=$1&id=$2 [L,NC]
Aquí se transforman los (.+) en variables que serán $1 y $2 en orden de aparición. Para que esta regla se ejecute la url debe empezar por "seccion/". Si la regla se ejecuta, el resto de reglas no se ejecutara gracias al "[L,NC]".

Siempre habra que poner las reglas mas restrictivas al principio.

Entonces un vez hecho esto ya podemos poner nuestros enlaces de esta forma:

Código HTML:
<a href="seccion/articulos/id/4">link</a> 
y el servidor entendera que queremos ir a index.php?seccion=articulos&id=4.

IMPORTANTE:

- El archivo htaccess funciona solo en servidores Apache, asi que si tu servidor es linux perfecto pero si es un windows server que tiene IIS en vez de Apache esta solucion no servira.

- En el archivo que estemos usando la re-escritura de reglas, es decir, donde tengamos enlaces amigables (por lo general suele ser el index) debemos poner dentro de la etiqueta header
Código HTML:
<base _hr_ef="http_://ww_w.midominio.c_om/" />
<!- -QUITAR LAS BARRAS BAJAS QUE AUN NO ME DEJAN PONER URLS XD --> 
que sera la base del archivo index. Si este archivo index estuviese dentro de una carpeta como "contenido" la base sería
Código HTML:
<base _hr_ef="http_://ww_w.midominio.c_om/contenido/" />
<!- -QUITAR LAS BARRAS BAJAS QUE AUN NO ME DEJAN PONER URLS XD --> 

Última edición por jonak; 24/05/2009 a las 09:48