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!!!