Ver Mensaje Individual
  #6 (permalink)  
Antiguo 25/04/2009, 07:51
Avatar de kernelcom-com
kernelcom-com
 
Fecha de Ingreso: mayo-2008
Ubicación: Lima
Mensajes: 216
Antigüedad: 16 años
Puntos: 3
Respuesta: Problema con URL amigable

Cita:
Iniciado por neodani Ver Mensaje
Hola,

Tengo un problema con URL amigables.

Hasta hace poco, mis direcciones era del estilo

http://dominio.com/?page_id=45

Donde 45 era la pagina que quería mostrar. Esto lo he cambiado y ahora en lugar de salir así, me sale el titulo de la página

http://dominio.com/titulo-pagina
y en algunos casos
http://dominio.com/seccion/titulo-pagina

El problema que tengo es que antes trataba la URL y con GET miraba en que página me encontraba para mostrar o no un modulo determinado. Pero al cambiar la URL amigable el método ya no me funciona.

<?php if ($_GET['page_id'] != 45){ ?>

modulo

<? }?>

Alguien me puede echar una manita?

Muchas gracias
Debes indicarle al .htaccess como llegara tu variable, puedes usar
http://dominio.com/?page_id=45
http://dominio.com/seccion/titulo-pagina_45.html o bien sin extension.

en el .htaccess
Código PHP:
RewriteEngine on
Rewriterule 
(.*)_([0-9]+).htmlindex.php?page_id=$
Pero antes debes crear la url amigable en la web te paso una funcion que puedes usar al crearlas.

Código PHP:
// ---------- variables para convertir amigable ---------------- //
function saca($mensaje
    { 
    
$mensaje str_replace("%F1","n",$mensaje); 
    
$mensaje str_replace("%D1","N",$mensaje); 
    
$mensaje str_replace(".","-",$mensaje); 
    
$mensaje str_replace('/',"",$mensaje); 
    
$mensaje str_replace(" ","-",$mensaje); 
    
$mensaje str_replace("\\\\","\",$mensaje); 
    
    return 
strtolower($mensaje); 
    } 
function 
elimina_ace($cadena){
$tofind "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ";
$replac "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn";
return(
strtr($cadena,$tofind,$replac));
}
// --------------------- fin amigables -------------------------------- //

En realidad hay muchas maspero yo uso esa y me ayuda mucho
Dentro de los metatag puedes usar una base par indicar en que dominio se encuentra todo y asi evitar problemas de estilos.

<base href="http://www.tudominio.com/"/>

espero te sirva saludos
__________________
Las ideas estimulan la mente.(Eric Hoffer)
http://www.reycarlos.com
http://www.clasificadosde.com