PHP - Urls amigables htaccess - no funciona el css

   
Vista:

Urls amigables htaccess - no funciona el css

Publicado por Mk (8 intervenciones) el 07/11/2014 19:28:29
Hola,
Tengo una web y quiero crear urls amigables.

Al web me crea una url del tipo archivo.php/var1=1&var2=2&var3=3 y quisiera que quedara la url como /var1/var2/var3

He probado varios códigos de htaccess pero todos me rompen el css cuando redirigen, es decir, la página llega bien a la que es pero sin estilo y posiblemente sin js.

El último que he probado y que ha resultado bien la redirección es:

RewriteRule ^([a-z-]+)\/([0-9]+)\/([a-zA-Z0-9_-]+)\/?$ play.php?link=$1&vid=$2&id=$3 [NC]

Os pongo un ejemplo (no lo considereis spam ni nada sólo es para ilustrar lo que me pasa)

La Url original es: http://www.mimusica.ga/play.php?link=amada-mia-el-barrio&vid=83&id=1
Y la que funciona es: http://www.mimusica.ga/amada-mia-el-barrio/38/1pero sin css.

A ver si me podeis ayudar y decirme que puedo hacer para que no pase y pueda usar urls amigables.

Gracias
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

Urls amigables htaccess - no funciona el css

Publicado por xve (5519 intervenciones) el 07/11/2014 21:46:54
Hola Mk, el problema lo tienes en la definición de los archivo css y js...

por ejemplo, tienes esto:
1
<link href="css/index-style.css" media="screen" rel="stylesheet" type="text/css">

Indicas, que desde al carpeta donde te encuentres, entres en la carpeta css a buscar el archivo index-style.css. Logicamente, con las urls amigables no existe.

La solución pasa por poner la ruta absoluta. Si la carpeta css esta en la raíz, tendrias que poner algo como:
1
<link href="/css/index-style.css" media="screen" rel="stylesheet" type="text/css">

De esta manera, estés en la carpeta que estés, siempre ira a buscarla al mismo sitio.
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

Urls amigables htaccess - no funciona el css

Publicado por Mk (8 intervenciones) el 07/11/2014 22:36:39
Uaaa eres genial! Me había vuelto loco buscando que podia ser y ya me daba por vencido. Me has salvado.
Muchisimas Gracias, ya funciona todo perfecto!!
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

Urls amigables htaccess - no funciona el css

Publicado por Ismael (41 intervenciones) el 12/11/2014 00:08:04
Perfecto
nunca mejor explicado.
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

Urls amigables htaccess - no funciona el css

Publicado por mk (8 intervenciones) el 30/11/2014 15:24:30
Hola, ahora con las urls amigables me he dado cuenta que tampoco funciona el ajax. La url se modifica por htaccess y el formulario que tengo de subscripción no funciona con el siguiente codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$(document).on('submit', "form#email-subscribe", function(e) {
        $.ajax(
        {
            url : "mail.php",
            type: "POST",
            //data : data,
            data : $('#email-subscribe').serialize(),
            success:function(data, textStatus, jqXHR)
            {
                $("#before-subscribe-box").hide();
                $("#after-subscribe-box").fadeIn();
            },
            error: function(jqXHR, textStatus, errorThrown)
            {
 
            }
        });
        e.preventDefault();
    });

la url tiene una estructura como www.dominio.com/nombre/id antes era www.dominio.com/play.php?id=123 y con este tipo si que funciona.
Por que el ajax no me sabe cojer el valor del formulario con la nueva url? Si en teoria no tendria que ahcer referencia a la ulr en la que está.
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

Urls amigables htaccess - no funciona el css

Publicado por Ismael (41 intervenciones) el 30/11/2014 16:47:29
Hola, has mirado de hacer lo mismo que hiciste con el link de css pero con el JS de jquery? igual que el enlace al que apunta el mail.php, tendrías que hacer lo mismo, especificar la ruta por ejemplo "/paginas/mail.php" tendrias que hacer lo mismo para el JS como hiciste con el CSS.
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

Urls amigables htaccess - no funciona el css

Publicado por Mk (8 intervenciones) el 30/11/2014 16:58:11
Efectivamente era eso :'( la ruta del js estaba bien pero la del ajax no...

La solución es: url : "/mail.php", (con la barra)

Gracias por tu ayuda
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

Urls amigables htaccess - no funciona el css

Publicado por tanny tanny.nogales@gmail.com (1 intervención) el 16/09/2016 23:55:14
Hola, me sirvió tu respuesta ya que tenía el mismo problema, sin embargo, esto me levantó nuevas dudas.

Si tengo lo siguiente: <link href="/view/style.css" rel="stylesheet" type="text/css" />

Este se redirige a http://127.0.0.1/view/style.css

pero necesito que me redirija a http://127.0.0.1/CARPETA/view/style.css

Ya que mi app esta alojada en una carpeta de mi htdocs

¿que puedo hacer? ¿es posible crear una regla en el htaccess que cambie la ruta "raiz"?
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