Foros del Web » Administración de Sistemas » Apache »

Problema con URLs "Amigables"

Estas en el tema de Problema con URLs "Amigables" en el foro de Apache en Foros del Web. Hola estoy cambiando mis URL modulares por url amigables, dentro del archivo .htaccess tengo en siguiente codigo: Código: Options +FollowSymlinks RewriteEngine on RewriteBase / RewriteRule ...
  #1 (permalink)  
Antiguo 03/08/2008, 13:38
Avatar de manumaf  
Fecha de Ingreso: mayo-2007
Ubicación: Argentina
Mensajes: 854
Antigüedad: 17 años
Puntos: 6
Problema con URLs "Amigables"

Hola estoy cambiando mis URL modulares por url amigables, dentro del archivo .htaccess tengo en siguiente codigo:
Código:
Options +FollowSymlinks
RewriteEngine on


RewriteBase /


RewriteRule ^lenguajes/html/(.*)\.html$ index.php?id=html 
RewriteRule ^lenguajes/html/(.*)\.html$ index.php?id=faqs
Mi problemas es que cuando cargo lenguajes/html/html.html entra perfecto, pero luego cuando cargo lenguajes/html/faqs.html la página se recarga y me queda cargado el contenido de lenguajes/html/html.html.


Ya probe cambiando lo directorios por ejemplo: lenguajes/faqs/faqs.html y hay si funciona. pero necesito que el directorio sea igual.


Como soluciono eso???




Muchisimas gracias de antemano
  #2 (permalink)  
Antiguo 03/08/2008, 14:39
 
Fecha de Ingreso: mayo-2005
Mensajes: 188
Antigüedad: 19 años
Puntos: 6
Respuesta: Problema con URLs "Amigables"

Estás poniendo en las dos reglas el mismo patrón, por lo que sólo te acepta el primero.

Prueba así:

RewriteRule ^lenguajes/html/(.*)\.html$ index.php?id=$1
  #3 (permalink)  
Antiguo 03/08/2008, 17:45
Avatar de manumaf  
Fecha de Ingreso: mayo-2007
Ubicación: Argentina
Mensajes: 854
Antigüedad: 17 años
Puntos: 6
Respuesta: Problema con URLs "Amigables"

Gracias por responder pero no entiendo un cosa, en mi caso tendria que poner:




Código:
RewriteRule ^lenguajes/html/(.*)\.html$ index.php?id=$faqs


Asi??? Por que de esa forma ya intente y poniendo $1 tambien no entiendo, no se mucho de PHP pero al poner $1 estas diciendo que 1 es una variable pero que contenido tiene esa variable donde lo declaro???

Última edición por manumaf; 03/08/2008 a las 17:57
  #4 (permalink)  
Antiguo 03/08/2008, 18:10
Avatar de eZakto  
Fecha de Ingreso: julio-2008
Mensajes: 214
Antigüedad: 15 años, 10 meses
Puntos: 5
Respuesta: Problema con URLs "Amigables"

En primer lugar, no es php.

El patrón (lo que está entre paréntesis) será "recordado" para luego ponerlo en la reescritura.
Por lo que, si tienes:
^lenguajes/html/(.*)\.html$ index.php?id=$1
Entonces, cuando escribas en la url, por ejemplo, "lenguajes/html/hola.html" hará la reescritura sobre "index.php?id=hola".

El $1 es porque para traer los datos que son "recordados" debes llamarlos con $ y seguidamente el número de orden en el que está el patrón (contando de izquierda a derecha).

Si en tu caso quieres hacer algo estático, por ejemplo, redireccionar de "lenguajes/html/faqs.html" a " index.php?id=faqs", entonces no hacen falta patrones, usas:
RewriteRule ^lenguajes/html/faqs\.html$ index.php?id=faqs

Saludos.
  #5 (permalink)  
Antiguo 04/08/2008, 13:43
 
Fecha de Ingreso: mayo-2005
Mensajes: 188
Antigüedad: 19 años
Puntos: 6
Respuesta: Problema con URLs "Amigables"

Por cierto, en addedbytes.com acaban de publicar una guía sobre "URL rewriting" que parece bastante interesante. Os dejo el enlace:

http://www.addedbytes.com/apache/url...for-beginners/
  #6 (permalink)  
Antiguo 04/08/2008, 13:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problema con URLs "Amigables"

Tema trasladado a Apache.
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 10:19.