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

configurar .htaccess AYUDA! :(

Estas en el tema de configurar .htaccess AYUDA! :( en el foro de Apache en Foros del Web. bueno realmente no se si este foro va aca.... tengo una pagina en php y quiero hacerle las URLS amigables y a pesar de que ...
  #1 (permalink)  
Antiguo 27/06/2010, 17:57
Avatar de spacecowboy  
Fecha de Ingreso: agosto-2009
Mensajes: 110
Antigüedad: 14 años, 7 meses
Puntos: 0
configurar .htaccess AYUDA! :(

bueno realmente no se si este foro va aca....

tengo una pagina en php y quiero hacerle las URLS amigables y a pesar de que tengo semanas leyendo acerca de eso, no logre que funcione bien....

tengo en php las siguiente rutas
index.php?pais=$variable
dependiendo del ID que pasen muestra un pais
ejemplo: index.php?pais=1 muestra el pais Venezuela

ahora bien si paso index.php?pais=1&ciudad=1
muestra Pais=Venezuela y Ciudad= Caracas


kiero que con el .htaccess si alquien entra en misitio.com/venezuela
lea realmente esto index.php?pais=$variable

Y LO HACE!

Options FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*) index.php?pais=$1 [L]


PEEEEROOOOOO
si kiero que muestra pais y ciudad no lo hace pongo esto:
RewriteRule ^(.*)/(.*) index.php?pais=$1&ciudad=$2 [L]

si aluien pone misitio.com/venezuela/caracas
da error, no muestra nada... de hecho solo muestra el pais venezuela y la pagina descuadrada sin la hoja de estilo... es como si se corriera de carpeta.. saben pq pasa esto? :(

y otra cosa si alguien pone misitio.com/venezuela/ con un "/" al final tambien pasa lo mismo.. la pagina se descuadra no se muestran las imagenes ni la hoja de estilo... es como si se perdiera la ruta...

POR FAVOR AYUDA!!! TENGO SEMANAS EN ESTO :(
  #2 (permalink)  
Antiguo 27/06/2010, 18:14
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: configurar .htaccess AYUDA! :(

Para lograrlo puedes usar
Código Apache:
Ver original
  1. RewriteRule ^([^/]*)/([^/]*)/?$ index.php?pais=$1&ciudad=$2 [L]
Te recomiendo que pases por el foro de apache hace dos días preguntaron lo mismo.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 27/06/2010, 18:21
Avatar de spacecowboy  
Fecha de Ingreso: agosto-2009
Mensajes: 110
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: configurar .htaccess AYUDA! :(

Cita:
Iniciado por abimaelrc Ver Mensaje
Para lograrlo puedes usar
Código Apache:
Ver original
  1. RewriteRule ^([^/]*)/([^/]*)/?$ index.php?pais=$1&ciudad=$2 [L]
Te recomiendo que pases por el foro de apache hace dos días preguntaron lo mismo.
que va nada :( me da el mismo problema.. .que cuando escribo misitio.com/venezuela/caracas me da error... muestra la pagina solo con el valor de Venezuela... como si no leyera caracas y de paso la muestra sin la hoja de estilo y las imagenes no se muestran como si estuvieran mal enrutadas
  #4 (permalink)  
Antiguo 27/06/2010, 18:38
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: configurar .htaccess AYUDA! :(

Yo hice la prueba de esta forma, cree un archivo llamado a.php y con el siguiente código
Código PHP:
Ver original
  1. <?php
  2. var_dump($_GET);
Luego cree un archivo .htaccess con el siguiente dato
Código Apache:
Ver original
  1. RewriteEngine On
  2. Rewriterule ^([^/]*)/([^/]*)/?$ a.php?foo=$1&bar=$2 [L]
Y escribí en la barra de direcciones
Código url:
Ver original
  1. http://localhost/algo/otro/
Salió en pantalla
Código PHP:
Ver original
  1. array(2) { ["foo"]=> string(4) "algo" ["bar"]=> string(4) "otro" }
Si no te sale, entonces no haz configurado correctamente el apache para que reconozca el htaccess. Te recomiendo que pases por el foro de apache para que veas como hacerlo.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 27/06/2010, 19:04
Avatar de spacecowboy  
Fecha de Ingreso: agosto-2009
Mensajes: 110
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: configurar .htaccess AYUDA! :(

Cita:
Iniciado por abimaelrc Ver Mensaje
Yo hice la prueba de esta forma, cree un archivo llamado a.php y con el siguiente código
Código PHP:
Ver original
  1. <?php
  2. var_dump($_GET);
Luego cree un archivo .htaccess con el siguiente dato
Código Apache:
Ver original
  1. RewriteEngine On
  2. Rewriterule ^([^/]*)/([^/]*)/?$ a.php?foo=$1&bar=$2 [L]
Y escribí en la barra de direcciones
Código url:
Ver original
  1. http://localhost/algo/otro/
Salió en pantalla
Código PHP:
Ver original
  1. array(2) { ["foo"]=> string(4) "algo" ["bar"]=> string(4) "otro" }
Si no te sale, entonces no haz configurado correctamente el apache para que reconozca el htaccess. Te recomiendo que pases por el foro de apache para que veas como hacerlo.


ok lo probe con tu mismo codigo y lo hace muestra tal cual el resultado....

ahora bien, usando tu mismo ejemplo pongo
http://localhost/algo
y no lo lee tendria que poner "/" al final asi que entonces pongo

cuando es pais solamente
Rewriterule ^([^/]*)/?$ a.php?foo=$1 [L]

pais y ciudad
Rewriterule ^([^/]*)/([^/]*)/?$ a.php?foo=$1&bar=$2 [L]

chevere lo lee... muestra las variables
ahora solo hay un inconveniente.. cuando escribo
http://localhost/algo/ con "/" al final o pongo http://localhost/algo/otro/

no me muestra las imagenes de los encabezados... o la hoja de estilo... eso me imagino es pq hay un problema con el enrutamiento... como deberia poner las rutas? en los src por ejemplo src=../img/logo.jpg o src=./img/logo.jpg ?

otra cosa q me doy cuenta con este codigo apache... es que si ahora busco un archivo de otra carpeta que si existe lo lee como otra variable osea pongo
http://misitio.com/registro/paso1.php

entonces lo lee como si fuera registro la varible pais y paso1.php como si fuera la variable ciudad :(

y no muestra el archivo que deberia
  #6 (permalink)  
Antiguo 27/06/2010, 19:12
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: configurar .htaccess AYUDA! :(

Con rutas absolutas o usando la etiqueta <base />. Debes condicionar el RewriteRule usando RewriteCond y así solo se ejecuta cuando cumple la condición que hayas colocado. Busca información sobre RewriteCond.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 27/06/2010, 19:24
Avatar de spacecowboy  
Fecha de Ingreso: agosto-2009
Mensajes: 110
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: configurar .htaccess AYUDA! :(

Cita:
Iniciado por abimaelrc Ver Mensaje
Con rutas absolutas o usando la etiqueta <base />. Debes condicionar el RewriteRule usando RewriteCond y así solo se ejecuta cuando cumple la condición que hayas colocado. Busca información sobre RewriteCond.
vale muchas gracias, estoy buscando info...
aunke de todos modos estoy usando

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f


y sin embargo ocurre lo que te digo...
  #8 (permalink)  
Antiguo 27/06/2010, 19:58
Avatar de spacecowboy  
Fecha de Ingreso: agosto-2009
Mensajes: 110
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: configurar .htaccess AYUDA! :(

Cita:
Iniciado por abimaelrc Ver Mensaje
Con rutas absolutas o usando la etiqueta <base />. Debes condicionar el RewriteRule usando RewriteCond y así solo se ejecuta cuando cumple la condición que hayas colocado. Busca información sobre RewriteCond.
hey! listo arrgle el problema de que no se veia la hoja de estilo....

es que la carpeta donde esta la hoja de estilo se encuentra en una subcarpeta

para llamarlo en el index (que es donde se muestra pais y ciudad) debo poner
<link rel="stylesheet" type="text/css" href="../../formato/estilos/general.css" />

asi cuando pones misitio.com/pais/ o misitio.com/pais/ciudad/

lo lee perfecto al igual que con las imagenes....
se encuentran en una carpeta llamada img ... asi que debo poner src=../images

y con respecto a rewritecond

lo puse 2 veces
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Rewriterule ^([^/]*)/?$ index.php?pais=$1 [L]

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

Rewriterule ^([^/]*)/([^/]*)/?$ index.php?pais=$1&ciudad=$2 [L]



NO SE SI ESTARA BIEN ESO, pero ya no me da problemas si busco un archivo que exista o una carpeta
  #9 (permalink)  
Antiguo 27/06/2010, 21:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Tema movido desde PHP a Apache

Etiquetas: configurar, htaccess
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 14:31.