Foros del Web » Programando para Internet » PHP »

problemas con urls amigables .htaccess

Estas en el tema de problemas con urls amigables .htaccess en el foro de PHP en Foros del Web. hola buenas noches a todos... Tengo un problema con las url limpias o amigables como prefieran decirlo.. en mi archivo .htaccess tengo este codigo Código: ...
  #1 (permalink)  
Antiguo 14/07/2015, 21:52
 
Fecha de Ingreso: julio-2015
Mensajes: 11
Antigüedad: 8 años, 9 meses
Puntos: 0
Pregunta problemas con urls amigables .htaccess

hola buenas noches a todos...
Tengo un problema con las url limpias o amigables como prefieran decirlo..

en mi archivo .htaccess tengo este codigo

Código:
RewriteEngine On
RewriteBase /web2/
RewriteRule ^([a-zA-Z0-9_-]+)$ perfil.php?id=$1 [L]
Yo creo que la mayoria sabe para que sirven las urls amigables, asi que les explico mi problema.
Lo que hace el codigo de arriba es tranformar el perfil.php?id=1 en el caso de mi pagina que va hacia el usuario 1, si pongo id=2 al 2 y asi sucesivamente.

el htaccess solo me toma la regla esta /localhost/web2/perfil

Cuando en mi pagina colocas /perfil.php (en este caso /perfil sin ninguna variable id se va a la pagina por defecto diciendo que no se ha encontrado el perfil

si yo coloco localhost/web2/perfil/1 me tira el error de que no se ha encontrado la pagina el error 404 de xampp (en mi caso uso este servidor), y no el perfil que se le indica

no se cual seria el problema, recien vi el codigo en un video y si le funcionaba, como yo no se cuales son los codigos que se usan en htaccess no se por donde meter mano.

Ese es mi problema si alguien sea bueno y me corriga el codigo para que me fucione como yo quiero porque no se que hacer :c

Gracias
  #2 (permalink)  
Antiguo 15/07/2015, 03:54
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: problemas con urls amigables .htaccess

Cambia la expresión:

Código Apache:
Ver original
  1. RewriteEngine On
  2. RewriteBase /web2/
  3. RewriteRule ^perfil/([0-9]+)$ perfil.php?id=$1 [L]

  #3 (permalink)  
Antiguo 15/07/2015, 12:04
 
Fecha de Ingreso: julio-2015
Mensajes: 11
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: problemas con urls amigables .htaccess

hola gracias por responder, gracias!! ahora me sirve pero tengo un problema, cuando entra al perfil no me toma las hojas de estilo y los js, aparte cuando hago click en algun link no vuelve sino que toma el perfil como raiz osea estoy en:
localhost/web2/perfil/1

y quiero volver al index o buscar algo me hace esto:

localhost/web2/perfil/1/index.php osea como que se queda en ese directorio. ayuda :c
  #4 (permalink)  
Antiguo 15/07/2015, 12:26
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: problemas con urls amigables .htaccess

Claro, eso es porque has puesto rutas relativas en vez de absolutas y éstas apuntan a URLs que obviamente no existen... tendrás que cambiarlas manualmente, no queda otra
  #5 (permalink)  
Antiguo 15/07/2015, 12:34
 
Fecha de Ingreso: julio-2015
Mensajes: 11
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: problemas con urls amigables .htaccess

mmm estuve viendo videos de como usar htaccess y vi este codigo que me sirve a la perfeccion pero el problema ahora es que no puedo usae el / en ves del . , el codigo que me pasaste tenia un error supongamos que ponia perfil/19 no me lo leia porque solo leia del 0 al 9

RewriteRule ^user.(.+) perfil.php?id=$1

este codigo me sirve bien osea pongo web2/user.1 y se va al 1, pero hay alguna posibilidad de cambiar ese . por el / porque trate reemplazandolo y me tira error.
  #6 (permalink)  
Antiguo 15/07/2015, 13:17
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: problemas con urls amigables .htaccess

No creo que sea por eso, [0-9]+ significa cualquier serie de números de x cifras. Y la forma de hacer lo que dices es simplemente reemplazándolo:

Código Apache:
Ver original
  1. RewriteRule ^user/(.+) perfil.php?id=$1
  #7 (permalink)  
Antiguo 15/07/2015, 14:56
 
Fecha de Ingreso: julio-2015
Mensajes: 11
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: problemas con urls amigables .htaccess

te digo lo de ese error porque cuando ponia perfil/19 me tira el error 404 pero si ponia del 1 al 9 si me andaba.
Sobre el otro ya trate reemplazando el . por el / pero me tira error

ese me funciona bien osea /user.1
http://prntscr.com/7t4s85

Si yo pongo el /user/1
http://prntscr.com/7t4uu9

te dejo los links de las capturas de pantalla

este es mi codigo de htaccess ahora

RewriteEngine On
RewriteBase /web2/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteRule ^user/(.+) perfil.php?id=$1

Última edición por IvoFacundo; 15/07/2015 a las 15:08

Etiquetas: amigables, htaccess, links, url, xampp
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 15:40.