Hola.
Estoy haciendo una url amigable a través de los campos "title" de cada tabla, por ejemplo Inicio, El arte de escribir, Desarrollo web que utilizando esta función para la url amigable quedarían así:
Código PHP:
Ver original<?php
function seo_url($cadena){
$originales = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ??';
$modificadas = 'aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr';
return $cadena_minuscula;
}
//Título url amigable
$paginaUrl = seo_url($value["title"]);
echo '<li class=""><a href="'.$paginaUrl.'" class="">'.$value["title"].'</a><i class="fa fa-circle" aria-hidden="true"></i></li>';
?>
Entonces dichos enlaces se enviarían así para la url:
Código HTML:
Ver original<li class=""><a href="inicio" class="">Inicio
</a><i class="fa fa-circle" aria-hidden="true"></i></li> <li class=""><a href="el-arte-de-escribir" class="">El arte de escribir
</a><i class="fa fa-circle" aria-hidden="true"></i></li> <li class=""><a href="desarrollo-web" class="">Desarrollo web
</a><i class="fa fa-circle" aria-hidden="true"></i></li>
La página que recoge el valor de la url con Get lo recibe entonces por el valor codificado -> $paginaUrl y al comprobarlo lo hago lo hago por dos campos :
Código PHP:
Ver original$item = "title";//Campo de la tabla páginas a consultar.
$valor = $_GET["ruta"];//Valor que viene en la url para comprobar en el campo $item de la tabla.
if(isset($_GET["ruta"])){ $valor = $_GET["ruta"];
}
Entonces al comprobar en la tabla el campo "title" no existe ya que le envío la url amirable (seo_url)
El .htaccess de prueba estaría así:
Código:
RewriteRule ^([-a-zA-Z0-9/]+)$ index.php?ruta=$1
Se que si también enviase el "id" de cada título podría hacerlo de otra manera o incluso aumentando los parámetros en el .htaccess pero mi duda es:
¿Sería posible recuperar el valor original de la cadena antes de ser amigable para volver a enviar como título? Es decir, volver a pasar o recuperar "el-arte-de-escribir" al original title ->"El arte de escribir" para hacer las comprobaciones en cada tabla por "title".
Se que también sería posible hacerlo con su id o incluso creando un campo "ruta" en cada tabla y hacer la comprobación por ese "ruta" en vez de "title" pero por ahora me gustaría ver si es posible hacer la opción de recuperar el original.
Saludos.