Citar
He copiado el código y al pulsar en la noticia en concreto me sigue apareciendo la ruta completa. Seguramente tenga algo mal, seguiré mirando y probando con tu código.
http://infojuegos.org/includes/secciones/noticia.php?id=1
http://infojuegos.org/includes/secciones/noticia.php?id=1
Eso es completamente normal. Si pones la ruta completa, el script que te he pasado no tiene nada que hacer.
Para que funcione bien, necesitas cambiar el modo en el que tu pagina lleva los enlaces.
Así, tienes que hacer que en vez de que te lleve a http://infojuegos.org/includes/secciones/noticia.php?id=1, te lleve a http://infojuegos.org/noticias/1 cuando haces click en un enlace.
Vamos, que tienes que cambiar la forma en la que se manejan los enlaces en el codigo de tu pagina.
Puedes hacerlo todo mediante HTACCESS ? Si pero NO te lo recomiendo para nada.
Tendrías que redireccionar al usuario cada vez que este haga click en un enlace. Eso ralentiza tu pagina web y los buscadores tipo Google te penalizan por mostrarles 301 cada vez que inspeccionan un enlace en tu pagina.
Aquí tienes como hacerlo pero repito "NO TE LO RECOMIENDO PARA NADA".
Código
<IfModule mod_rewrite.c> Options +FollowSymLinks RewriteEngine On # Si el archivo no es un directorio RewriteCond %{REQUEST_FILENAME} !-d # Al solicitar dominio.com/noticia/1 # lo procesara como dominio.com/includes/secciones/noticia.php?id=1 # sin mostrar la ruta completa. RewriteRule ^noticia/([A-Za-z0-9_-]+)/?$ includes/secciones/noticia.php?id=$1 [L] # En caso de que el visitante acceda mediante la ruta completa # redirigir a la ruta corta. # Esto redirigiria dominio.com/includes/secciones/blalba.php?id=234234 a # dominio.com/blalba/234234 RewriteCond %{THE_REQUEST} ^(GET|POST|HEAD)\ /includes/secciones/([A-Za-z0-9]+)\.php\?id=([A-Za-z0-9_-]+) RewriteRule ^ http://dominio.com/%2/%3/? [L,R=301] </IfModule>
Saludos