Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/03/2011, 00:50
PYTUFYN
 
Fecha de Ingreso: junio-2003
Mensajes: 104
Antigüedad: 20 años, 10 meses
Puntos: 0
Cambiar /articulo.php?id=X por /titulo-del-articulo

Hola a tod@s.

Creo que me estoy volviendo loco. He probado mil cosas, he leído mil manuales y nada, no lo he conseguido.

Para empezar, decir que me gustaría cambiar las url's:

www.dominio.com/articulo.php?id=1

Por:

www.dominio.com/titulo-del-articulo

He leído mil post de este foro pero no he logrado dar con la solución. A ver si contando mi caso más detalladamente alguien consigue ayudarme.

Seguramente ahora alguien me dirá "añade estas líneas en tu .htaccess y..." pero nada, eso ya lo he probado de mil maneras, lo más que he conseguido es, con este código:

Cita:
Options +FollowSymLinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteEngine on
RewriteRule ^(.+)$ articulo.php?id=$1
Que url del tipo:

www.dominio.com/articulo.php?id=1

Se vea así (y funcione):

www.dominio.com/1

Pero claro... eso no es lo que quiero. Por si sirve, diré que tengo una tabla en mi base de datos llamada articulos y dentro de ésta varios campos, como id, titulo, url , entre otros.

De tal modo que si añadiera un artículo llamado "Tengo hambre" estos serían los registros en la base de datos:

articulos
----------
id | titulo | url
---------------------------
1 | Tengo hambre | tengo-hambre

Este es el código (después de quitar la morralla para que se vea más claro) que tengo en mi articulo.php

Código PHP:
<?php
include('config.php');
if(isset(
$_GET['id'])){
$id $_GET['id'];
database_connect();
$query "SELECT * from articulos where id = $id";
$echo mysql_error();
$result mysql_query($query);
$num_rows mysql_num_rows($result);
if (
$num_rows == 0) {
    include 
"404.php";;
    exit;
}
while (
$row mysql_fetch_assoc($result)) {
$titulo $row['titulo'];
$contenido $row['contenido'];
$url $row['url'];
    }
}
echo 
$titulo;
echo 
$contenido;
?>
Supongo que si en lugar de la ID (articulo.php?id=1) pudiera mostrar el registro que tengo en url (articulo.php?id=tengo-hambre) podría hacerlo funcionar. Pero claro, he ahí la cuestión, cómo hacerlo y sobre todo que funcione jeje...

Agradecería cualquier ayuda.

PD: no sabía si publicarlo en el foro de PHP o en el de Apache, pero como lo que necesito (creo) es cambiar o meter algo en el código php... por eso lo hice aquí.

Un saludo!