Tengo dos paginas, un index.php donde mostrare el previo de todas las noticias y después un archivo llamado noticia.php donde voy a mostrar el texto completo de la noticia.
Mi idea es en la url en vez de salir noticia.php?idnoticia=1 quiero que salga titulo-de-la-noticia.html. Pero configuro el rewrite, me crea bien la url pero la variable no la recibe la pagina noticia.php y entonces no muestra ningun noticia. Aquí tenéis el código de cada pagina,
Archivo index.php
Código :
<? include("dinamic/conex_as.php"); $conexion=mysql_connect($host,$usuario_db,$pass_usuario_db); $seldb=mysql_select_db($basedatos); //Hago la consulta $sop = "SELECT * FROM noticias ORDER BY idnoticia "; //Guardo el resultado $result = mysql_query($sop); while ($lista = mysql_fetch_array($result)){ ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento sin título</title> </head> <body> <a href="<?=$lista["url"];?>"><?=$lista["titulo"];?></a> </body> </html> <? } mysql_close($conexion); ?>
Archivo noticia.php
Código :
<? include("dinamic/conex_as.php"); $conexion=mysql_connect($host,$usuario_db,$pass_usuario_db); $seldb=mysql_select_db($basedatos); //Hago la consulta $sop = "SELECT * FROM noticias WHERE url=".$_GET["url"]." "; //Guardo el resultado $result = mysql_query($sop); while ($lista = mysql_fetch_array($result)){ ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title><?=$lista["titulo"];?></title> </head> <body> <?=$lista["titulo"];?> </body> </html> <? } mysql_close($conexion); ?>
Archivo .htaccess
Código :
RewriteEngine on RewriteRule ^(.*)-(.*)\.html$ noticia.php?idnoticia=$1 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /noticia.php?url=$1 [QSA]
Un saludo y gracias.