Apache - SOS!! .htacces Urls amigables de archivos en subcarpetas

 
Vista:
sin imagen de perfil

SOS!! .htacces Urls amigables de archivos en subcarpetas

Publicado por Gonzalo (10 intervenciones) el 16/04/2014 08:11:05
Hola!

A ver si alguien me puede echar una mano, llevo todo el día intentando crear una url amigable para unos archivos de mi web.

He leído mucha información al respecto y he encontrado casi la linea de comandos, pero no acaba de funcionarme.

El problema es que yo tengo el htacces en la raiz y el archivo que quiero convertir esta dos niveles por debajo, de tal forma:

public.html /
_________ .htacces
_________home.php
_________contacto.php

_________ (carpeta) galerias/
__________________ (carpeta) galeria1/
_______________________________ galeria1.php

En el archivo galeria1.php tiene la consulta a la base siguiente:

1
2
3
4
5
6
<?php
require_once("../../conexion/conexion.php");
$enlace = conexionmysql();
 
$foto = mysql_query("SELECT * FROM galeria1 WHERE id_galeria=".$_GET[id_galeria]."  ORDER BY orden");
?>

(la variable "id" yo la tengo como variable "id_galeria")


y en el .htacces tengo lo siguiente:

1
2
3
4
5
6
<IfModule mod_rewrite.c>
RewriteEngine On
Options -Indexes +FollowSymLinks
RewriteBase /
RewriteRule ^galerias/fotos/bodas$ galerias/galeria1/galeria1.php?id_galeria=$1
</IfModule>


La pagina no da error, carga bien, pero… no carga la tabla de la base y no carga las imágenes.

La URL original es "http://www.xxxxx.com/galerias/galeria1/galeria1.php?id_galeria=8

Alguna idea???

Saludos!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 103
Oro
Ha mantenido su posición en Apache (en relación al último mes)
Gráfica de Apache

SOS!! .htacces Urls amigables de archivos en subcarpetas

Publicado por xve (284 intervenciones) el 16/04/2014 08:46:17
Hola Gonzalo, para cargar el archivo conexion.php, utiliza la ruta absoluta... en vez de poner:
1
require_once("../../conexion/conexion.php");
pon:
1
require_once("/conexion/conexion.php");

La barra al inicio, indica la raíz de tu pagina web, de esta modo, aunque utilices Rewrite, siempre encontrara el archivo para conectarte con la base de datos.

Coméntanos si es este el problema, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

SOS!! .htacces Urls amigables de archivos en subcarpetas

Publicado por Gonzalo (10 intervenciones) el 16/04/2014 16:32:10
Muchas gracias por tu respuesta,

Tienes razón en que la ruta de conexion.php es mejor la que indicas,
pero ese no es el problema, lo he probado por si acaso pero no.

De ambas maneras funciona bien cuando no está el Rewrite en el htaccess, conecta perfectamente y carga todo el contenido bien, pero ha la hora de poner el Rewrite en el htacces ya no…
de ninguna de las dos formas ../../conexion/conexion.php o /conexion/conexion.php

Sin embargo si carga la página sin mostrar ningún error pero como que el valor que pongo no extrae el id de la galería o algo así…

El php de la página lo puse para que vierais el id que tengo en vez de ser "id"=valor es "id_galeria"=valor (asi funciona bien en la web sin el rewrite) y pienso que por ahí debe estar el problema..

__________________________________________________________________

Página web: (funcionando bien "sin rewrite") conecta bien con la base.

<?php
require_once("/conexion/conexion.php");
$enlace = conexionmysql();
$foto = mysql_query("SELECT * FROM galeria1 WHERE id_galeria=".$_GET[id_galeria]." ORDER BY orden");
?>

__________________________________________________________________

htacces:

<IfModule mod_rewrite.c>
RewriteEngine On
Options -Indexes +FollowSymLinks
RewriteBase /
RewriteRule ^galerias/fotos/bodas$ galerias/galeria1/galeria1.php?id_galeria=$1
</IfModule>
__________________________________________________________________

URL ORIGEN: (FUNCIONANDO BIEN)
http://www.XXXX.com/galerias/galeria1/galeria1.php?id_galeria=8

URL AMIGABLE: (CARGA LA PAGINA PERO NO BAJA LA TABLA DE LA BASE O ALGO ASI…)
http://www.XXXX.com/galerias/fotos/bodas


Por cierto en el htacces tengo estos otros Rewrites,(funcionando) esto afecta???
Hay tres RewriteEngine on (esto afecta al htacces y deberían estar agrupados, o simplemente es el
comienzo de cada una orden???

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php

<IfModule mod_rewrite.c>
RewriteEngine On
Options -Indexes +FollowSymLinks
RewriteBase /
RewriteRule ^galerias/fotos/bodas$ galerias/galeria1/galeria1.php?id_galeria=$1
</IfModule>

RewriteEngine on
RewriteCond %{HTTP_HOST} ^xxx.com$
RewriteRule ^/?$ "http\:\/\/www\.xxx.com\/" [R=301,L]



RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?www.xxx.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?www.xxx.com$ [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ - [F,NC]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 103
Oro
Ha mantenido su posición en Apache (en relación al último mes)
Gráfica de Apache

SOS!! .htacces Urls amigables de archivos en subcarpetas

Publicado por xve (284 intervenciones) el 16/04/2014 16:56:16
Hola Gonzalo, dos cosas...

1.- pon siempre ruta absoluta en el Rewrite, algo así:
1
RewriteRule ^galerias/fotos/bodas$ /galerias/galeria1/galeria1.php?id_galeria=$1

2.- ahora que me fijo, la ruta absoluta esta mal, de alguna manera, tienes que pasar el numero del id_galeria... algo así:
1
RewriteRule ^galerias/fotos/bodas/([0-9]+)/$ /galerias/galeria1/galeria1.php?id_galeria=$1

y la url tendrá que ser algo así:
http://www.XXXX.com/galerias/fotos/bodas/8/

Sino, el $1 como sabe que tiene que ser un id? con tu código, nunca llega el valor del id_galeria.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

SOS!! .htacces Urls amigables de archivos en subcarpetas

Publicado por Gonzalo (10 intervenciones) el 16/04/2014 17:35:35
Muchisimas gracias de nuevo por echarme un cable…

He intentado con la formula que me dices, pero tampoco, ahí se va todo y no carga ni la página…

Yo como tenia pensado la Url amigable "galerias/fotos/bodas" es:

para 1ª carpeta_________para2ª carpeta_______para "galeria1.php" (sea el que sea el id)
galerias=galererias / fotos=galeria1 / bodas=galeria1.php?id_galeria=(el que sea)

Y cambiar "bodas" por "paisajes" para otro id diferente por ejemplo...

Estoy bien o voy confundido?

Con este RewriteRule ^galerias/fotos/bodas/([0-9]+)/$ galerias/galeria1/galeria1.php?id_galeria=$1
La pagina carga pero no hace bien la consulta….
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 103
Oro
Ha mantenido su posición en Apache (en relación al último mes)
Gráfica de Apache

SOS!! .htacces Urls amigables de archivos en subcarpetas

Publicado por xve (284 intervenciones) el 16/04/2014 18:58:17
Hola Gonzalo, esta linea no te funcionara nunca...
1
RewriteRule ^galerias/fotos/bodas/([0-9]+)/$ galerias/galeria1/galeria1.php?id_galeria=$1

le falta poner la barra inicial, ya que sino, busca dentro de la carpeta donde esta, y esa carpeta no existe!!!
Siempre pon la barra inicial
1
RewriteRule ^galerias/fotos/bodas/([0-9]+)/$ /galerias/galeria1/galeria1.php?id_galeria=$1


El RewriteRule, tiene que tener un valor entre paréntesis para ser pasado como parámetro... en tu código:
1
RewriteRule ^galerias/fotos/bodas$ /galerias/galeria1/galeria1.php?id_galeria=$1
El $1 nunca tendrá ningún valor... sera lo mismo que llamar a:
1
http://www.XXXX.com/galerias/galeria1/galeria1.php?id_galeria=
Fíjate no tiene valor la variable id_galeria, por lo que no te devolverá ningún valor.

Puedes probar la manera que te he comentado con la barra inicial?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

SOS!! .htacces Urls amigables de archivos en subcarpetas

Publicado por Gonzalo (10 intervenciones) el 16/04/2014 19:25:10
Nada….

con barra inicial:
RewriteRule ^galerias/fotos/bodas/([0-9]+)/$ /galerias/galeria1/galeria1.php?id_galeria=$1

Y url: http://www.mallarme.com.mx/galerias/galeria1/galeria1.php?id_galeria=8 OK





con url: http://www.mallarme.com.mx/galerias/fotos/bodas (carga pag pero no base) medio Ok




Y con url: http://www.mallarme.com.mx/galerias/fotos/bodas/8/ (se descontrola)





y sin la barra inicial hace lo mismo en los tres casos de urls…. que con la barra inicial
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 103
Oro
Ha mantenido su posición en Apache (en relación al último mes)
Gráfica de Apache

SOS!! .htacces Urls amigables de archivos en subcarpetas

Publicado por xve (284 intervenciones) el 17/04/2014 08:09:55
Gonzalo, fíjate que poniendo el numero 8 te funciona!!!

El problema que tienes ahora, es que al trabajar con Rewrite, todo tiene que ser con rutas absolutas, las imágenes, las hojas de estilo, el js, etc...
No puedes utilizar nada del estilo de ../../
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

SOS!! .htacces Urls amigables de archivos en subcarpetas

Publicado por Gonzalo (10 intervenciones) el 17/04/2014 16:43:44
Hola y gracias de nuevo,

Ya cambié todo con rutas absolutas, pero sigue sin recibir bien la respuesta de la base de datos por que no carga las imágenes bien, salen los espacios pero vacios…

con la url original http://www.xxx.xxx/galerias/galeria1/galeria1.php?id_galeria=8 sigue todo bien

pero con la url amigable http://www.xxxx/galerias/fotos/bodas/8/ carga todo pero no las imágenes….
como que no hace la consulta con la base de datos o no recibe respuesta…

No será por el final de la orden RewriteRule? galeria1.php?id_galeria=$1

Gracias por todo!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

SOS!! .htacces Urls amigables de archivos en subcarpetas

Publicado por Gonzalo (10 intervenciones) el 17/04/2014 17:22:53
Probando con esta opción que debería ser directa pero tampoco lee las imágenes….

RewriteRule ^galerias/fotos/bodas/([0-9]+)/$ galerias/galeria1/galeria1.php?id_galeria=8 [L,NC]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

SOS!! .htacces Urls amigables de archivos en subcarpetas

Publicado por Gonzalo (10 intervenciones) el 17/04/2014 18:45:07
Sigo sin ver el problema…
Habrá alguna linea aquí que este impidiendo la carga???

La pagina trabaja bien y con las urls originales no tiene problemas…
Pero no se si en las lineas estas de htacces haya alguna que le este diciendo otra cosa...


<IfModule mod_rewrite.c>
Options -Indexes +FollowSymLinks
RewriteEngine On


RewriteCond %{HTTP_HOST} ^xxxxx.com.mx$
RewriteRule ^/?$ "http\:\/\/www\.xxxxx\.com\.mx\/" [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php

RewriteBase /
RewriteRule ^galerias/fotos/bodas/([0-9]+)/$ galerias/galeria1/galeria1.php?id_galeria=$1 [L]


RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?www.xxxxx.com.mx/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?www.xxxxx.com.mx$ [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ - [F,NC]

</IfModule>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 103
Oro
Ha mantenido su posición en Apache (en relación al último mes)
Gráfica de Apache

SOS!! .htacces Urls amigables de archivos en subcarpetas

Publicado por xve (284 intervenciones) el 18/04/2014 09:46:19
Hola Gonzalo, me puedes indicar la url para visualizar-lo en Internet?
De esta manera, te intentare decir porque no te aparecen las imágenes, y que problema tienes exactamente.

Si utilizas la consola del Chrome, seguramente veras que problema tienes al no cargar las imagenes, estilos, etc...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

SOS!! .htacces Urls amigables de archivos en subcarpetas

Publicado por Gonzalo (10 intervenciones) el 18/04/2014 14:26:53
Buenas tardes

Yo ahi me pierdo….
Mira te dejo las urls a ver que ves tu,
intento descifrar como funciona la consola….


http://www.mallarme.com.mx/galerias/fotos/bodas-6 (ERROR)
http://www.mallarme.com.mx/galerias/galeria1/galeria1.php?id_galeria=6 (OK)

ya probe otras formulas y estuve leyendo todo lo que pude de expresiones regulares
y creo que está bien la expresión, pero está claro que algo no aca de encajar…

Gracias y saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 103
Oro
Ha mantenido su posición en Apache (en relación al último mes)
Gráfica de Apache

SOS!! .htacces Urls amigables de archivos en subcarpetas

Publicado por xve (284 intervenciones) el 18/04/2014 16:39:28
Hola Gonzalo, fijate ca cantidad de errores que tienes...



Utiliza rutas absolutas para las imágenes!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

SOS!! .htacces Urls amigables de archivos en subcarpetas

Publicado por Gonzalo (10 intervenciones) el 18/04/2014 17:08:26
Ya he visto… pero no se de donde saca esa ruta…. no entiendo por que, además que no existe...

Si te fijas cargando la url que si está bien (la que funciona en la web)
http://www.mallarme.com.mx/galerias/galeria1/galeria1.php?id_galeria=6

Esta no muestra ninguna ruta de ningun tipo, por la carga se hace desde la base de datos y esta le indica donde están las imágenes,
Es en la url del rewrite que de aulguna manera le está indicando que vaya a esa ruta (que no debería, debería indicar que lea la base) y claro la ruta no existe…


Pero digo… si te fijas en la URL buena no muestra ninguna ruta, esto es del Rewrite…
Menuda locura...

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

SOS!! .htacces Urls amigables de archivos en subcarpetas

Publicado por Gonzalo (10 intervenciones) el 16/04/2014 19:26:59
Tienes un correo al que enviarte un MP, el mio [email protected]

Oye muchiiiisimas gracias por la ayuda!!!

Ayer me pegue todito el día investigando y no conseguí solucionarlo, y ay estoy casi por darme por vencido… asi que muchas gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar