URL BLOG: http://localhost/sergio/blog.php
Cuando selecciono una entrada me lleva a otra página: DETALLE_ENTRADA.PHP
URL DETALLE_ENTRADA: http://localhost/sergio/detalle_entrada.php?id=1&con=esto-es-una-prueba
Como veis estoy pasando dos parámetros desde sergio/blog a sergio/detalle_entrada.
PHP
Código PHP :
<?php
function urls_amigables($url) {
// Tranformamos todo a minusculas
$url = strtolower($url);
//Rememplazamos caracteres especiales latinos
$find = array('á', 'é', 'í', 'ó', 'ú', 'ñ');
$repl = array('a', 'e', 'i', 'o', 'u', 'n');
$url = str_replace ($find, $repl, $url);
// Añadimos los guiones
$find = array(' ', '&', '\r\n', '\n', '+');
$url = str_replace ($find, '-', $url);
// Eliminamos y Reemplazamos otros carácteres especiales
$find = array('/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');
$repl = array('', '-', '');
$url = preg_replace ($find, $repl, $url);
return $url;
}
?>
<?php
$sql = ("SELECT id, usuario, fecha, titulo, contenido_corto, imagen, url FROM entradas ORDER BY id DESC");
$result = mysqli_query($con,$sql);
include "functions.php";
while ($line = mysqli_fetch_array($result)) {
$titulo = urls_amigables($line['titulo']);
echo "<a href=\"detalle_entrada?id=".$line['id']."&con=".$titulo."\">Leer artículo</a>";
}
mysqli_close($con);
?>y este es mi código en htaccess:
Código :
AddDefaultCharset UTF-8
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^([a-z]+)/?$ $1.php [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*)$ $1.html
RewriteRule ^([a-z]+)/?$ $1.html [NC]
</IfModule>
ErrorDocument 404 http://localhost/sergio/404.php
<IfModule mod_rewrite.c>
RewriteEngine On
#RewriteBase /sergio/
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
Rewriterule ^sergio/(.*)/(.*) detalle_entrada.php?id=$1&con=$2
</IfModule>
Espero que alguien me pueda iluminar en este oscuro universo
MIL GRACIAS!!!
