Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

Problema con URL amigable

Estas en el tema de Problema con URL amigable en el foro de WordPress en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 21/04/2009, 15:22
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 9 meses
Puntos: 20
Problema con URL amigable

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
  #2 (permalink)  
Antiguo 21/04/2009, 15:30
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 8 meses
Puntos: 839
Respuesta: Problema con URL amigable

¿Cómo haces para generar la URL amigable? En todo caso, podrías hacerla al estilo:
w3.pagina.com/seccion/titulo-pagina-45
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 21/04/2009, 16:29
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 9 meses
Puntos: 20
Respuesta: Problema con URL amigable

Cita:
Iniciado por David el Grande Ver Mensaje
¿Cómo haces para generar la URL amigable? En todo caso, podrías hacerla al estilo:
w3.pagina.com/seccion/titulo-pagina-45
Utilizo wordpress, no se si tiene algo que ver, pero el fichero .htaccess tiene la siguiente forma

Código:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END Wordpress
Otra forma que podría usar sería coger el nombre de la pagina? es decir la ultima parte de la URL?

http://dominio.com/seccion/titulo-pagina

Y filtrar por ahí? alguna idea?
  #4 (permalink)  
Antiguo 21/04/2009, 17:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Problema con URL amigable

Tema trasladado desde PHP
  #5 (permalink)  
Antiguo 23/04/2009, 14:03
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 9 meses
Puntos: 20
Respuesta: Problema con URL amigable

Lo que quería extraer era el ID al fin y al cabo y esto lo acabé solucionando con vuestra ayuda en el siguiente post

http://www.forosdelweb.com/f118/ocul...pagina-691790/

  #6 (permalink)  
Antiguo 25/04/2009, 07:51
Avatar de kernelcom-com  
Fecha de Ingreso: mayo-2008
Ubicación: Lima
Mensajes: 216
Antigüedad: 16 años, 7 meses
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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:00.