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

.htaccess y URL's amigables

Estas en el tema de .htaccess y URL's amigables en el foro de Apache en Foros del Web. Buenas tardes, Hace unos días estuve pensando hacer una web usando el .htaccess para hacer url's amigables y procedí del siguiente modo Código PHP: RewriteEngine on ...
  #1 (permalink)  
Antiguo 17/01/2008, 13:48
 
Fecha de Ingreso: enero-2008
Mensajes: 115
Antigüedad: 16 años, 10 meses
Puntos: 1
Pregunta .htaccess y URL's amigables

Buenas tardes,
Hace unos días estuve pensando hacer una web usando el .htaccess para hacer url's amigables y procedí del siguiente modo

Código PHP:
RewriteEngine on
RewriteRule 
^catalog/(.+) catalog.php?c=$1
RewriteRule 
^catalog/(.+) catalog.php?c=$1&__p=$
Mi idea era la siguiente, este archivo catalog.php se encarga de mostrar las categorías de un catálogo, ahora bien, las variables son:
"c" => id de la categoría
"__p" => página

por ejemplo, yo entro a la categoría "1" de la siguiente manera
www.miweb.com/catalog/1, esto quiere decir que le estoy pasando la ID = 1, y si se dan cuenta no le paso PÁGINA, eso lo proceso en el archivo php de la siguiente manera
Código PHP:
if(!isset($_GET['__p'])) $_GET['__p'] = 1
si es que no está la variable '__p' entonces le establezco a 1,

pero si va a haber otros casos en que yo no quiera ir a la primera página, sino a la página 2:
www.miweb.com/catalog/1/2

esto debería poder ser interpretado bien, pero sucede que según lo que yo puse en el htaccess, esta leyendo únicamente la variable "c" y en este caso la variable "c" toma el valor "1/2" lo cual no es correcto,

hay alguna manera de solucionar esto??? ya que quiero usar el htccess y no sé que regla poner para que cumpla con mis necesidades.

Espero puedan ayudarme,
Saludos.
  #2 (permalink)  
Antiguo 17/01/2008, 14:10
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: .htaccess y URL's amigables

Al trabajar con RegEx, el punto (.) significa cualquier caracter. debes restringir el id de categoria a sólo números:

Código:
RewriteEngine on 
RewriteRule ^catalog/([0-9]+)/([0-9]+) catalog.php?c=$1&__p=$2  
RewriteRule ^catalog/([0-9]+) catalog.php?c=$1
Un saludo,
  #3 (permalink)  
Antiguo 17/01/2008, 14:26
 
Fecha de Ingreso: enero-2008
Mensajes: 115
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: .htaccess y URL's amigables

Muchísimas gracias amigo, funcionó a la perfección, no domino eso de expresiones regulares, no sé si podrías darme otra ayuda más.
Si quisiera que en vez de números el primer parámetro sea de tipo texto (para el caso de los permalinks)?

por ejemplo te lo explico con una búsqueda,
supongamos que mi busqueda sea: "mi busqueda" lo que en permalink sería "mi-busqueda"
www.miweb.com/search/mi-busqueda
como haría para ese caso... imaginemos que haya muchos resultados, por lo mismo que muchas páginas y si quisiera ir a la página dos sería así:
www.miweb.com/search/mi-busqueda/2

como haría el .htaccess para que me interprete correctamente eso, ya que como les digo, sino paso la variable '__p' le pongo por default a 1.

offtopic: Yo también soy de Perú, de Lima para ser más exacto

gracias de nuevo y perdón por las molestias.
Saludos!
  #4 (permalink)  
Antiguo 17/01/2008, 15:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: .htaccess y URL's amigables

Tema trasladado a Apache.

Por favor publica en los foros correctos.
  #5 (permalink)  
Antiguo 17/01/2008, 15:45
 
Fecha de Ingreso: enero-2008
Mensajes: 115
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: .htaccess y URL's amigables

Mil disculpas,
no me di cuenta de eso,

Saludos.
  #6 (permalink)  
Antiguo 17/01/2008, 16:29
 
Fecha de Ingreso: enero-2008
Mensajes: 115
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: .htaccess y URL's amigables

Perdón por el doble post, pero como le q pongo a continuación no tiene nada q ver con el post anterior q hice...
en fin... logré encontrar una solución:
en mi archivo .htaccess agregué lo siguiente:
Código PHP:
RewriteRule ^search/([0-9a-zA-Z-._]+)/([0-9]+) search-result.php?search=$1&p=$2
RewriteRule 
^search/([0-9a-zA-Z-._]+) search-result.php?search=$
por si a alguien le interesa,
saludos!!!
  #7 (permalink)  
Antiguo 17/01/2008, 20:21
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: .htaccess y URL's amigables

Ese punto (permitir puntos en la búsqueda) podría traerte alguna que otra complicación si search/ existe físicamente como directorio en tu servidor, ya que imposibilitaría abrir cualquier fichero dentro de este. Si no existe, no hay problema alguno

Un saludo,
  #8 (permalink)  
Antiguo 19/01/2008, 09:18
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 17 años, 2 meses
Puntos: 1
Re: .htaccess y URL's amigables

buenos dias requiero ayuda con eseta cuestion..

tengo una pagina que sera www.midominio.com en la q los usurios se registran y tienen una vitacora personal. para acceder a esta vitacora hay que escribir http://www.midominio.com/ubikt.php?a...uario=nickname
donde nickname es el nombre de usuario d la persona..
quiero que esto cambie por algo mas o menos asi... www.midominio.com/username
estoy intentando usar las url amigables pero no comprendo como editar el .htaccess
la carpeta raiz no ,o tenia (estoy trabajando en localhost) asi que cree con un editor de texto dicho archivo y coloque...
Código:
RewriteEngine on
RewriteRule ^(+.) ubikt.php?a=comunidad&file=perfil&usuario=$1
y no pasa nada...
quien podria ayudarme???
  #9 (permalink)  
Antiguo 19/01/2008, 09:26
 
Fecha de Ingreso: enero-2008
Mensajes: 115
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: .htaccess y URL's amigables

uhmmmmm
a ver si esto te sirve:

Código PHP:
RewriteEngine on
RewriteRule 
^username/([0-9a-zA--úÁ-Úä-üÄ-Ü-._ñÑ]+) ubikt.php?a=comunidad&file=perfil&usuario=$
me avisas

saludos!
  #10 (permalink)  
Antiguo 19/01/2008, 09:30
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 17 años, 2 meses
Puntos: 1
Re: .htaccess y URL's amigables

nada..

coloque

http://localhost/ubikt/username/hector

y me puso esto...

Not Found

The requested URL /nuke/username/hector was not found on this server.
Apache/2.2.3 (Debian) PHP/5.2.0-8+etch9 Server at localhost Port 80


el funciona bien con esta direccion...

http://localhost/ubikt/ubikt.php?a=comunidad&file=perfil&usuario=administ rador


gracias por ala ayuda... espero q me sigas ayudando..
  #11 (permalink)  
Antiguo 19/01/2008, 09:40
 
Fecha de Ingreso: enero-2008
Mensajes: 115
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: .htaccess y URL's amigables

has habilitado el mod_rewrite en la configuración del apache???
a lo mejor es eso...
saludos!
  #12 (permalink)  
Antiguo 19/01/2008, 09:41
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 17 años, 2 meses
Puntos: 1
Re: .htaccess y URL's amigables

que??? como se como eso?

no mi pana.. no lo e hecho...
como lo puedo hacer? podrias explikrme?
  #13 (permalink)  
Antiguo 19/01/2008, 09:42
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 17 años, 2 meses
Puntos: 1
Re: .htaccess y URL's amigables

bueno... como te distes cuenta.. estoe es mi sistema operativo y mi version del servidor:
Apache/2.2.3 (Debian) PHP/5.2.0-8+etch9
  #14 (permalink)  
Antiguo 19/01/2008, 10:12
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 17 años, 2 meses
Puntos: 1
Re: .htaccess y URL's amigables

ehh.. ya lo active.. pero sigie sin funcionar.. :(
  #15 (permalink)  
Antiguo 21/01/2008, 13:59
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 17 años, 2 meses
Puntos: 1
Re: .htaccess y URL's amigables

ayuda.. pofa!!!
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 09:37.