[SOLUCIONADO] Problema con URLs amigables

Iniciado por sr.mcbecker, Enero 04, 2013, 09:03:34 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Enero 04, 2013, 09:03:34 AM Ultima modificación: Octubre 25, 2013, 11:54:21 PM por Expermicid
Hola a todos, tengo un pequeño problema con URLs amigables que no me funciona bien, pongo el código.
código html:
Código: html5
<a <?php if(isset($_GET['seccion']))if($_GET['seccion']=="noticias")echo 'class="section_on"'; ?> href="noticias"><li>Noticias</li></a>

código .htaccess:
Código: dos
RewriteEngine on
RewriteRule ^(.*)$ index.php?seccion=$1


No me funciona bien me sale la página sin estilo más o menos creo a que se debe pero no se por qué no me funciona el code.

quiero lo siguiente.
localhost/CarpetaPrincipal/peliculas
Tengo algo muy gordo entre manos!

Esta cerrado casi al final href="noticias">


Fijate si te sirve esto,

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Enero 04, 2013, 10:15:34 AM #3 Ultima modificación: Enero 04, 2013, 10:17:14 AM por heyctre
si dentro de la variable seccion estas usando barras inclinadas (/) te esta retrocediendo directorios, lo que puedes aser son 3 cosas para solucionarlo
1) los directorios de las hojas de estilo imagenes, y scripts deven de estar con muchas un igual a las barras que pases por get ._. o escribe muchas :D

ejemplo si tienes esto

Código: text
<link href="estilo.css" type="text/css" media="screen" rel="stylesheet" />


cambia el htref por muchas barras para que salgas del directorio pero esto tambien para imagenes y scripts

Código: text
<link href="../../../../../../../../../../../../../../../../estilo.css" type="text/css" media="screen" rel="stylesheet" />


o tambien puedes aser esto

2)en lugar de usar barras inclinadas usa guiones, ya sean bajos o normales  <-- la mas recomendable

o tambien puedes aser esto

3)usa la etiqueta base <-- en la cabecera de tu web, la etiqueta base es un comodin que te permite controlar  los directorios de tu web

Hola brother, trata haciendo la expresión regular más específica, trata de usar urls absolutas y en el html de la web agrega:

Código: html5
<base href="/" />


Saludos!







No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Enero 05, 2013, 07:17:32 AM #5 Ultima modificación: Enero 05, 2013, 07:26:54 AM por sr.mcbecker
Vale en el hosting lo he conseguido =D
ahora voy a ver como es en localhost que me tiraba errores =D.
Muchas gracias por la ayuda.

EDITO: Solucionado en localhost
El problema es que la web en locahost<-dominio estaba metida en una carpeta otracarpeta<- carpeta , entonces por esto fallaba todo =D
Código: php


RewriteRule ^(\w+)$ /otracarpeta/index.php?seccion=$1

<a <?php if(isset($_GET['seccion']))if($_GET['seccion']=="noticias")echo 'class="section_on"'; ?> href="noticias"><li>Noticias</li></a>
<a <?php if(isset($_GET['seccion']))if($_GET['seccion']=="peliculas")echo 'class="section_on"'; ?> href="peliculas"><li>Peliculas</li></a>
Tengo algo muy gordo entre manos!