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

[SOLUCIONADO] URL's amigables con .htaccess

Estas en el tema de URL's amigables con .htaccess en el foro de Apache en Foros del Web. Hola, es la primera vez que pregunto por aca asique no se si esta bien puesta esta pregunta aca... Estoy tratando de hacer lo siguiente ...
  #1 (permalink)  
Antiguo 22/02/2013, 20:10
 
Fecha de Ingreso: febrero-2013
Mensajes: 9
Antigüedad: 11 años, 2 meses
Puntos: 0
URL's amigables con .htaccess

Hola, es la primera vez que pregunto por aca asique no se si esta bien puesta esta pregunta aca...

Estoy tratando de hacer lo siguiente quiero que la siguiente direccion:


www.misitio.com.ar/articulos.php?ID_categoria=1

se vea de la siguiente forma:

www.misitio.com.ar/articulos/1.html

para hacer eso tengo en el .htaccess lo siguiente:

RewriteEngine On
RewriteBase /
RewriteRule ^articulos/(.*).html$ articulos.php?ID_categoria=$1

y no me funciona, no me reconoce la pagina cuando entro a:

www.misitio.com.ar/articulos/1.html

pero si cuando entro a:

www.misitio.com.ar/articulos.php?ID_categoria=1

Espero que puedan ayudarme

Avisen si necesitan algo mas para que se entienda o para encontrar el error
  #2 (permalink)  
Antiguo 23/02/2013, 10:51
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 9 meses
Puntos: 181
Respuesta: URL's amigables con .htaccess

Bueno, en "teoria" esta bien escrita la regla. Algunas cosas que deberias tener presentes son:
  • Verificar que tienes activado mod_rewrite en apache y php
  • utilizar url absolutas a la hora de llamar archivos como css javascript etc
  • Yo me traeria el nombre del articulo y el id, piensa en la opción de las url amigables para hacerlo mas amigables a los buscadores
  • Debes escapar el punto de .html con \ asi \.html y termina la regla con un [L]

Creo que con eso se deberia solucionar el problema
__________________
Blog de humor http://elcuasatar.net63.net/
  #3 (permalink)  
Antiguo 23/02/2013, 11:09
 
Fecha de Ingreso: febrero-2013
Mensajes: 9
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: URL's amigables con .htaccess

Gracias por la respuesta.

- Verificar que tienes activado mod_rewrite en apache y php:

Ya lo verifique con una prueba simple cuando tenia el sitio vacio y anduvo. pero usaba otro rewriterule

- utilizar url absolutas a la hora de llamar archivos como css javascript etc

ya lo hice

- Yo me traeria el nombre del articulo y el id, piensa en la opción de las url amigables para hacerlo mas amigables a los buscadores

Primero queria probar esto y mas adelante en vez de poner el id mostraria el nombre de la categoria

- Debes escapar el punto de .html con \ asi \.html y termina la regla con un [L]

coloque esto:

RewriteRule ^articulos/(.*)\.html$ articulos.php?ID_categoria=$1 [L]

y sigue sin andarme...
  #4 (permalink)  
Antiguo 23/02/2013, 11:17
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: URL's amigables con .htaccess

¿Cual es la parte que no te funciona?

¿Estás recibiendo algún error?

El único inconveniente que veo es que sólo tu puedes ver lo que sucede, sin compartir más información es complicado entender el problema.

PDTA: esto no es un tema que vaya en el foro de PHP, ya que se trata de configuración de Apache.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 23/02/2013, 12:25
 
Fecha de Ingreso: febrero-2013
Mensajes: 9
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: URL's amigables con .htaccess

Yo tengo en mi pagina el siguiente enlace:

<a href="http://misitio.com.ar/articulos/<?php echo $registro['ID_categoria']; ?>.html"></a>

Es decir:

www.misitio.com.ar/articulos/1.html

pero me sale el error tipico del servidor donde tengo subida la pagina, que sale cuando la pagina no existe, pero si entro a:

www.misitio.com.ar/articulos.php?ID_categoria=1

La pagina se muestra sin problemas.

PD: No se como mover el mensaje...
  #6 (permalink)  
Antiguo 23/02/2013, 12:28
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: URL's amigables con .htaccess

Si recibes un error 404 entonces tus reglas de redirección no están funcionando, ¿tienes un ejemplo en el mismo servidor que si esté funcionando?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 23/02/2013, 13:26
 
Fecha de Ingreso: febrero-2013
Mensajes: 9
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: URL's amigables con .htaccess

Si antes de hacer el sitio probe con lo siguiente:

.htaccess
RewriteEngine on
RewriteBase /
RewriteRule ^clientes/(\w+)/?$ clientes.php?id=$1

------index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Ejemplo de URL amigable</title>
</head>
<body>
<h1>Ahora estás en index.php</h1>
<a href="clientes/juan">Juan</a>
</body>
</html>

-------clientes.php
<?php

//clientes.php
//prueba para probar URL's amigables

// Obtenemos el nombre del usuario desde la URL
$id = $_GET['id'];
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Ejemplo de URL amigable</title>
</head>
<body>
<h1>Ahora estás en clientes.php</h1>
<p>Nombre del cliente: <?php echo $id; ?></p>
</body>
</html>

Este es un ejemplo que encontre en algun lado y lo probe para asegurarme de que ande el mod_rewrite y anduvo sin problemas.
  #8 (permalink)  
Antiguo 23/02/2013, 13:28
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: URL's amigables con .htaccess

Bien, entonces, intenta cambiar el .* por .+ en tu expresión, veamos que sucede.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 23/02/2013, 13:33
 
Fecha de Ingreso: febrero-2013
Mensajes: 9
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: URL's amigables con .htaccess

Con .+ sigue sin andar...
  #10 (permalink)  
Antiguo 23/02/2013, 13:44
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: URL's amigables con .htaccess

Por una última ocasión, ¿puedes mostrar el código completo de tu .htaccess ahora?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 23/02/2013, 14:43
 
Fecha de Ingreso: febrero-2013
Mensajes: 9
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: URL's amigables con .htaccess

Con el ultimo cambio quedo asi:

RewriteEngine On
RewriteBase /
RewriteRule ^articulos/(.+)\.html$ articulos.php?ID_categoria=$1 [L]
  #12 (permalink)  
Antiguo 23/02/2013, 14:51
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: URL's amigables con .htaccess

Bueno, pues convencionalmente así funciona, de verdad es extraño que no sirva.

Siento mucho que no podamos ayudar de forma mas especializada en el foro de PHP temas que no son de PHP.

La experiencia me dice que el código parece correcto, pero es imposible determinar las causas si no se está ahí depurando el asunto.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 23/02/2013, 14:55
 
Fecha de Ingreso: febrero-2013
Mensajes: 9
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: URL's amigables con .htaccess

Ok voy a hacer esta misma duda en Apache, yo ya no se que hacer para que me ande...
Gracias igualmente por la ayuda.
  #14 (permalink)  
Antiguo 23/02/2013, 15:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: URL's amigables con .htaccess

Yo lo que haría, en tu lugar y antes de abrir otro tema es, copiar el ejemplo que dices si funciona, y alterarlo poco a poco hasta obtener otro el resultado que quiero.

Tienes algo funcional y esa debería ser suficiente guía para conseguir otro resultado.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #15 (permalink)  
Antiguo 23/02/2013, 15:51
 
Fecha de Ingreso: febrero-2013
Mensajes: 9
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: URL's amigables con .htaccess

Segui tu consejo y edite el .htaccess que funcionaba y pude hacer lo que queria, capaz el archivo que usaba estaba mal la extension o yo que se...
Gracias!!!

Última edición por minstrel; 23/02/2013 a las 18:33

Etiquetas: htaccess, mod, php, 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 12:50.