Foros del Web » Administración de Sistemas » Software para Servers »

[SOLUCIONADO] .htaccess urls amigables y css

Estas en el tema de .htaccess urls amigables y css en el foro de Software para Servers en Foros del Web. Buenas compañeros del foro He implementado las urls amigables usando hosts virtuales en el localhost y funciona bien, sin embargo no cargan las hojas de ...
  #1 (permalink)  
Antiguo 13/03/2013, 10:54
 
Fecha de Ingreso: abril-2008
Mensajes: 24
Antigüedad: 16 años
Puntos: 0
Exclamación .htaccess urls amigables y css

Buenas compañeros del foro

He implementado las urls amigables usando hosts virtuales en el localhost y funciona bien, sin embargo no cargan las hojas de estilos ni las imagenes, he probado varias supestas soluciones que he encontrado al problema, sin embargo sigue sin funcionar

en primer lugar encontre uno que decia agregar en el head <base href="http://midominio" /> y no funcionó

luego usar las direcciones absolutas, tanto con:
href="http://<?php echo $_SERVER['HTTP_HOST'];?>/css/hoja.css" como directamente href="http://midominio/css/hoja.css", sin embargo tampoco funciona y de hecho al ver el codigo desde el navegador solo aparece href="/css/hoja.css"

tambien comentar la linea #Options +FollowSymLinks, por supesto estando la base asi: RewriteBase /

en ninguno de los casos carga las hojas de estilo y lo raro es que como comenté antes aún poniendo la dirección absoluta, esta no aparece...

alguna idea???
  #2 (permalink)  
Antiguo 13/03/2013, 16:19
 
Fecha de Ingreso: abril-2012
Mensajes: 34
Antigüedad: 12 años
Puntos: 1
Respuesta: .htaccess urls amigables y css

¿A dónde apunta según Firebug?
__________________
Las mejores frases las encontrarás aquí y también fantásticas frases de amor.
  #3 (permalink)  
Antiguo 13/03/2013, 16:55
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: .htaccess urls amigables y css

Pon las reglas de reescritura que estás usando y donde están ubicados los archivos .css.
  #4 (permalink)  
Antiguo 13/03/2013, 18:46
 
Fecha de Ingreso: abril-2008
Mensajes: 24
Antigüedad: 16 años
Puntos: 0
Exclamación Respuesta: .htaccess urls amigables y css

Cita:
Iniciado por berserko Ver Mensaje
Buenas compañeros del foro

He implementado las urls amigables usando hosts virtuales en el localhost y funciona bien, sin embargo no cargan las hojas de estilos ni las imagenes, he probado varias supestas soluciones que he encontrado al problema, sin embargo sigue sin funcionar

en primer lugar encontre uno que decia agregar en el head <base href="http://midominio" /> y no funcionó

luego usar las direcciones absolutas, tanto con:
href="http://<?php echo $_SERVER['HTTP_HOST'];?>/css/hoja.css" como directamente href="http://midominio/css/hoja.css", sin embargo tampoco funciona y de hecho al ver el codigo desde el navegador solo aparece href="/css/hoja.css"

tambien comentar la linea #Options +FollowSymLinks, por supesto estando la base asi: RewriteBase /

en ninguno de los casos carga las hojas de estilo y lo raro es que como comenté antes aún poniendo la dirección absoluta, esta no aparece...

alguna idea???
la hoja de estilo esta en un directorio de nombre css

el .htaccess esta asi:

RewriteEngine On

RewriteBase /

RewriteRule ^(.+)/(.+)/?$ index.php?dir=$1&tema=$2
  #5 (permalink)  
Antiguo 13/03/2013, 19:25
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: .htaccess urls amigables y css

Cita:
Iniciado por berserko Ver Mensaje
RewriteRule ^(.+)/(.+)/?$ index.php?dir=$1&tema=$2
Esa regla también afecta a /css/algo.css, es decir, al vincular a un archivo CSS estás llamando a index.php?dir=css&tema=algo.css.

No deberías de tener reglas tan bestias para mapear URLs. Lo suyo es ser un poco más específico. Si tienes por ejemplo seis carpetas, agrúpalas en una expresión con (dir1|dir|dir|etc..) y no afectará al directorio de los CSS.
  #6 (permalink)  
Antiguo 15/03/2013, 19:37
 
Fecha de Ingreso: abril-2008
Mensajes: 24
Antigüedad: 16 años
Puntos: 0
Respuesta: .htaccess urls amigables y css

Un pequeño cambio en la regla lo hizo funcionar, simplemente suprimir el simbolo ? al final

antes: RewriteRule ^(.+)/(.+)/?$ index.php?dir=$1&tema=$2

después: RewriteRule ^(.+)/(.+)/$ index.php?dir=$1&tema=$2
  #7 (permalink)  
Antiguo 16/03/2013, 00:06
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: .htaccess urls amigables y css

Ni caso.

Supongo que cuando veas que no te abre la web sin poner la barra al final —? servía para que / sea opcional, al quitarlo ahora es obligatorio que la URL acabe en /, por eso te funciona llamar los css— volverás a preguntar.
  #8 (permalink)  
Antiguo 16/03/2013, 08:47
 
Fecha de Ingreso: abril-2008
Mensajes: 24
Antigüedad: 16 años
Puntos: 0
Respuesta: .htaccess urls amigables y css

Cita:
Iniciado por Bonez Ver Mensaje
Ni caso.

Supongo que cuando veas que no te abre la web sin poner la barra al final —? servía para que / sea opcional, al quitarlo ahora es obligatorio que la URL acabe en /, por eso te funciona llamar los css— volverás a preguntar.
de hecho ya sabia que -? hacia opcional la barra al final, sin embargo aún usandolo, al escribir la url sin la barra al final igual no funcionaba... y a fin de cuentas obligatorio y todo pero funciona...

Última edición por berserko; 16/03/2013 a las 08:48 Razón: error de escritura
  #9 (permalink)  
Antiguo 16/03/2013, 11:35
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: .htaccess urls amigables y css

Cita:
Iniciado por berserko Ver Mensaje
sin embargo aún usandolo, al escribir la url sin la barra al final igual no funcionaba...
Y nadie ha dicho que tendría que haber funcionado, ya que el error te pasaba con o sin barra, porque era opcional.

El caso es que es un error dejarlo así, porque ahora te funciona llamar a los archivos CSS porque no te funciona llamar a las URLs normales sin la barra al final; lo que es de lo más habitual en una web.
  #10 (permalink)  
Antiguo 16/03/2013, 20:21
 
Fecha de Ingreso: abril-2008
Mensajes: 24
Antigüedad: 16 años
Puntos: 0
Respuesta: .htaccess urls amigables y css

Cita:
Iniciado por Bonez Ver Mensaje
Y nadie ha dicho que tendría que haber funcionado, ya que el error te pasaba con o sin barra, porque era opcional.

El caso es que es un error dejarlo así, porque ahora te funciona llamar a los archivos CSS porque no te funciona llamar a las URLs normales sin la barra al final; lo que es de lo más habitual en una web.
Ajá y que sugieres??? porque de nada me sirve que me digas el problema que se que tengo cuando lo que necesito es la solución que no tengo... Lo cual según he podido observar en otros temas del foro es algo muy común...

De hecho tengo problemas con algunos enlaces que en el servidor local funcionan todos a la perfección mientras que en la web algunos no funcinan para nada, ambos tanto los que funcionan como los que no funcionan trabajan con la misma regla y uso direcciones absolutas href="midominio.com/parametro1/parametro2/" la unica diferencia es que algunos(los que si funcionan) vienen de una base de datos...

Si uso el formato de variables href="midominio.com/?var1=parametro1&var2=parametro2" entonces si funcionan todos perfectamente
  #11 (permalink)  
Antiguo 17/03/2013, 02:59
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: .htaccess urls amigables y css

Cita:
Iniciado por berserko Ver Mensaje
Ajá y que sugieres??? porque de nada me sirve que me digas el problema que se que tengo cuando lo que necesito es la solución que no tengo... Lo cual según he podido observar en otros temas del foro es algo muy común...
Más común es que la gente se ciegue y no lean la respuesta y luego pregunten por sugerencias ya mencionadas.

Podrías ser más específico con tus reglas de reescritura para que realmente sólo afecten a lo que necesites, o al menos no ser tan generoso y sólo aplicar (.+). Como ya te dije, un buen punto, además de simple y comprensivo, es agrupar opciones —con (x|x|x)— y así reduces notablemente las reglas y lo ajustas a lo que necesitas.
  #12 (permalink)  
Antiguo 17/03/2013, 06:31
 
Fecha de Ingreso: abril-2008
Mensajes: 24
Antigüedad: 16 años
Puntos: 0
Respuesta: .htaccess urls amigables y css

Cita:
Iniciado por Bonez Ver Mensaje
Podrías ser más específico con tus reglas de reescritura para que realmente sólo afecten a lo que necesites, o al menos no ser tan generoso y sólo aplicar (.+). Como ya te dije, un buen punto, además de simple y comprensivo, es agrupar opciones —con (x|x|x)— y así reduces notablemente las reglas y lo ajustas a lo que necesitas.
Ocurre que en realidad lo intente como dices... te explico

1- Respecto a lo del -? (esto me resulta irrelevante, no tengo problemas con que el / al final sea obligatorio)


RewriteRule ^(.+)/(.+)/$ index.php?dir=$1&tema=$2 cuando no lo tiene hace obligatorio el / y devuelve: dir=loquehayen$1 tema=loquehayen$2

RewriteRule ^(.+)/(.+)/?$ index.php?dir=$1&tema=$2 cuando lo tiene hace opcional el / y si lo tiene devuelve: dir=loquehayen$1 tema=loquehayen$2/ es decir lo adjunta al valor de $2 y así tampoco sirve...



2 - El verdadero problema, como te dije antes es que algunos enlaces simplemente no funcionan mientras que otros si
Cita:
Iniciado por berserko Ver Mensaje
De hecho tengo problemas con algunos enlaces que en el servidor local funcionan todos a la perfección mientras que en la web algunos no funcionan para nada, ambos tanto los que funcionan como los que no funcionan trabajan con la misma regla y uso direcciones absolutas href="midominio.com/parametro1/parametro2/" la única diferencia es que algunos(los que si funcionan) vienen de una base de datos...

Si uso el formato de variables href="midominio.com/?var1=parametro1&var2=parametro2" entonces si funcionan todos perfectamente
Así que agrupe como dices, antes estaban así y solo funcionaban los enlaces que vienen de la base de datos:

RewriteRule ^(.+)/(.+)/(.+)/$ index.php/?dir=$1&tema=$2&tp=$3 <--- con 3 var solo para enlaces de la bd siempre funciona
RewriteRule ^(.+)/(.+)/$ index.php/?dir=$1&tema=$2 <-- con 2 var para enlaces normales y de bd solo funcionan los de bd que son exactamente iguales a los otros...

y ahora así:

RewriteRule ^dirbd/(.+)/(.+)/$ index.php/?dir=dirbd&tema=$1&tp=$2 para los enlaces de la bd que funcionaban y siguen funcionando
RewriteRule ^dirbd/(.+)/$ index.php/?dir=dir&tema=$1 direcciona al index con sus respectivas variables

RewriteRule ^(dir1|dir2|dir3)/(.+)/$ prueba.php/?dir=$1&tema=$2 para los demás enlaces que no funcionaban y siguen igual, envía error 404

Not Found

The requested URL /dir1/param1/ was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.


En el servidor local funciona a la perfeccion con ambos grupos de reglas
  #13 (permalink)  
Antiguo 17/03/2013, 07:15
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: .htaccess urls amigables y css

El problema con no ser específico, es que luego vas a depender mucho del orden en el que tengas las reglas. Porque con la misma en vez de reconocer /dir1/algo por (dir1|dir2|dir3)/(.+) lo hace por (.+)/(.+), ya que al fin y al cabo es lo mismo, pero esta última regla está antes. En este caso tendrías que o bien ser más específico con (.+)/(.+) o colocarlo después.
  #14 (permalink)  
Antiguo 17/03/2013, 17:03
 
Fecha de Ingreso: abril-2008
Mensajes: 24
Antigüedad: 16 años
Puntos: 0
Respuesta: .htaccess urls amigables y css

ya habia probado con el orden de las reglas y algunas otras cosas con el mismo resultado, creo que puede ser algo en la configuracion del servidor porque en el local funciona bien, en la web no y no hay razónpara que enlaces que tienes la misma estructura funcionen algunos y otros no, te haré una ultima pregunta antes de dar esto por terminado... ¿hay alguna forma de ver la salida del mod_rewrite sin que haga la redirección?
  #15 (permalink)  
Antiguo 18/03/2013, 05:44
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: .htaccess urls amigables y css

Pon las URLs que funcionan y las que no, a ver si se puede ver algo. Y el .htaccess completo —no completo, sólo lo que afecte al módulo de reescritura vaya.

Cita:
Iniciado por berserko Ver Mensaje
¿hay alguna forma de ver la salida del mod_rewrite sin que haga la redirección?
¿A qué te refieres con salida?
  #16 (permalink)  
Antiguo 18/03/2013, 10:27
 
Fecha de Ingreso: abril-2008
Mensajes: 24
Antigüedad: 16 años
Puntos: 0
Respuesta: .htaccess urls amigables y css

Listo! solucionado y funcionando... Aparentemente el problema se debió a restricciones de seguridad del servidor, por eso en el local funcinaba al pelo aún con las reglas bestias mientras que en la web no, tuve que hacer algunos cambios en los directorios y por ende en las reglas.

gracias al pana Bonez por estar pendiente del tema, saludos...

Etiquetas: htaccess, servidores-web
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 04:59.