Ir al contenido



Foto

Ocultar varibale enviada via GET en URL Amigable (PHP)

url seo get amigable

  • Por favor identifícate para responder
8 respuestas en este tema

#1 santiagocarlos

santiagocarlos

    Newbie

  • Miembros
  • Pip
  • 6 mensajes

Escrito 20 julio 2015 - 10:35

Planteo mi duda (problema)
 
Tengo un archivo vamos a llamarlo index.php
 
Archivo index.php
 
........codigo HTML.....................................
...........................................................


php
  1.  <div style="height: 60px;">
  2.   <h3>
  3.       <?php $urlFriend=str_replace(" ","-",$blog[$i]["url_seo"]); ?>
  4.       <a href="detalle/<?php echo $blog[$i]["id_noticia"]."/".strtolower($urlFriend).".html" ?>"><?php echo $blog[$i]["titulo"]; ?></a>
  5.  </h3>
  6. </div>

Noten que en la variable $urlFriend reemplazo los espacios por guiones (-) asi tendria algo como: "texto-amigable" el texto lo llamo dinámicamente desde unos registros de una tabla MySQL.
 
y fijense también como construyo la URL en el href 
 
detalle/<?php echo $blog[$i]["id_noticia"]."/".strtolower($urlFriend).".html" ?>
 
Noten que se envia un numero dinámico via GET en la variable id acá -- posts.php?id=$1
 
en el archivo .htaccess tengo lo siguiente


php
  1. RewriteEngine On
  2. RewriteRule ^detalle/([0-9]+)/.*\.html$ posts.php?id=$1 [L]

Con esto mis URLs amigables funcionan de la siguiente manera:
 
www.dominio.com/detalle/1/tutorial-java.html
 
www.dominio.com/detalle/2/tutorial-php.html
 
www.dominio.com/detalle/3/tutorial-mysql.html
 
y así sucesivamente, como les digo todo bien.
 
Noten que necesito la variable id para desde el archivo posts.php?id=$1 recogerla y hacer consultas a la Base de Datos para poder traerme el registro asociado con ese ID.
 
Lo que quiero es tener la URL aún mas amigable, es decir, quisiera que el numero ese "dinámico" /3/ no apareciese de modo que las URLs me queden así:
 

www.dominio.com/detalle/tutorial-java.html
 
www.dominio.com/detalle/tutorial-php.html
 
www.dominio.com/detalle/tutorial-mysql.html

 

Eso es posible? Porque como "escondo" ese numero "dinámico" /3/? Luego como lo rescato?
 
He pensado mucho, y no logro como hacerlo!
 
Espero me hayan entendido, sino por favor díganmelo.
 
Por favor ayuda!!! Gracias Amigos!


  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.404 mensajes
  • LocationRepública Dominicana

Escrito 21 julio 2015 - 06:28

Pues no, no sería aplicable, ¿como harias el match si escondes el id desde la URI?.


  • 0

#3 santiagocarlos

santiagocarlos

    Newbie

  • Miembros
  • Pip
  • 6 mensajes

Escrito 21 julio 2015 - 02:40

Exacto esa misma pregunta es la que tengo. Y de hecho pregunto si eso es posible lograrlo, por ejemplo, las URL's de Cesar Cancino son:

 

www.cesarcancino.com/noticias/detalle/videotutorial-7-del-taller-practico-de-java-server-page-jsp-primer-proyecto-web

 

Ven? Bueno en realidad no se si el "esconde" la variable que envía por cabecera. O como hace?

 

Quisiera lograr eso!


  • 0

#4 santiagocarlos

santiagocarlos

    Newbie

  • Miembros
  • Pip
  • 6 mensajes

Escrito 21 julio 2015 - 02:47

Pues no, no sería aplicable, ¿como harias el match si escondes el id desde la URI?.

 

Exacto esa misma pregunta es la que tengo. Y de hecho pregunto si eso es posible lograrlo, por ejemplo, las URL's de Cesar Cancino son:

 

www.cesarcancino.com/noticias/detalle/videotutorial-7-del-taller-practico-de-java-server-page-jsp-primer-proyecto-web

 

Ven? Bueno en realidad no se si el "esconde" la variable que envía por cabecera. O como hace?

 

Quisiera lograr eso!


  • 0

#5 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.404 mensajes
  • LocationRepública Dominicana

Escrito 22 julio 2015 - 07:47

Es posible que el match lo haga de otra forma que no sea el id.


  • 0

#6 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.404 mensajes
  • LocationRepública Dominicana

Escrito 22 julio 2015 - 10:55

Aquí un artículo donde te muestra una de las maneras de hacer urls amigables, posiblemente es la manera en que lo hace cesar cancino.

 

Saludos.


  • 0

#7 santiagocarlos

santiagocarlos

    Newbie

  • Miembros
  • Pip
  • 6 mensajes

Escrito 22 julio 2015 - 11:59

Aquí un artículo donde te muestra una de las maneras de hacer urls amigables, posiblemente es la manera en que lo hace cesar cancino.
 
Saludos.


Muchas gracias por responder! Voy a revisarlo. Un abrazo
  • 0

#8 sergio1

sergio1

    Newbie

  • Miembros
  • Pip
  • 1 mensajes

Escrito 08 abril 2017 - 02:22

Hola buenas a los dos!!! después de algunos años espero que llegases a una solución a tu problema. Resulta que yo tengo exactamente el mismo.

 

Tengo esta URL (http://localhost/ser...o-es-una-prueba) y me gustaría omitir la ID /1/

 

Hasta ahora solo he podido hacer consultas de este tipo pasando la ID... con otros campos no lo he conseguido, o si, pero me llevan siempre a la misma ID, a la primera de la base de datos.

 

¿Conseguiste solucionarlo?

 

Un abrazo y mil gracias.


  • 0

#9 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.404 mensajes
  • LocationRepública Dominicana

Escrito 10 abril 2017 - 12:28

Hola buenas a los dos!!! después de algunos años espero que llegases a una solución a tu problema. Resulta que yo tengo exactamente el mismo.

 

Tengo esta URL (http://localhost/ser...o-es-una-prueba) y me gustaría omitir la ID /1/

 

Hasta ahora solo he podido hacer consultas de este tipo pasando la ID... con otros campos no lo he conseguido, o si, pero me llevan siempre a la misma ID, a la primera de la base de datos.

 

¿Conseguiste solucionarlo?

 

Un abrazo y mil gracias.

 

Otra forma podría ser es guardando el resultante del tema en un campo de la tabla y utilizar ésta como el match, en tu caso eso-es-una-prueba seria el ID, pero eso puede llevar a un problema sino se crea una validación para evitar duplicaciones.

 

Saludos.


  • 0





Etiquetado también con una o más de estas palabras: url, seo, get, amigable