Funciones en php para hacer urls amigables.
Hola buenos días a todos.
Me gustaria solicitar su ayuda para poder hacer urls amigables con funciones de php.
Por ejemplo en la hoja para listar productos o post o lo que sea que se este leyendo de la base de datos poner un campo mas llamado SEO para poner mis palabras y luego mediante una "magia" que estan salgan en la url donde se muesta el contenido.
Espero me puedan ayudar con este tema.
Saludos y gracias.
Me gustaria solicitar su ayuda para poder hacer urls amigables con funciones de php.
Por ejemplo en la hoja para listar productos o post o lo que sea que se este leyendo de la base de datos poner un campo mas llamado SEO para poner mis palabras y luego mediante una "magia" que estan salgan en la url donde se muesta el contenido.
Espero me puedan ayudar con este tema.
Saludos y gracias.
0
Puntos
Puntos
6354
Visitas
Visitas
4
Resp
Resp
Por poxipol hace 119 meses
Principiante
Respuesta #1
Hola poxipol, te recomiendo leerte este tema a ver si te responde tu duda. Si no, comenta aquí y resolvemos.
Ver tema
Ver tema
Respuesta #2
Hola Jose gracias por contestar a mi post.
Mira ya habia leido el post que me comentas pero la verdad no es realmente lo que necesito realizar.
Lo que requiero hacer exactamente es en la pagina de la administracion que tengo poner un campo SEO
por ejemplo:
IdProducto:
Nombre:
Precio:
Estado:
Imagen:
Detalles:
SEO:
y que las palabras que yo ponga en ese campo SEO salgan por la url cuando se vea la pagina de ese producto en concreto.
Es exactamente lo que hace el usuario jorge vila en youtube donde crea una tienda online. (Lo que pasa es que para enseñarte ese detalle el te cobra 60 euros creo).
Espero me puedar ayudar.
Saludos y muchas gracias.
Mira ya habia leido el post que me comentas pero la verdad no es realmente lo que necesito realizar.
Lo que requiero hacer exactamente es en la pagina de la administracion que tengo poner un campo SEO
por ejemplo:
IdProducto:
Nombre:
Precio:
Estado:
Imagen:
Detalles:
SEO:
y que las palabras que yo ponga en ese campo SEO salgan por la url cuando se vea la pagina de ese producto en concreto.
Es exactamente lo que hace el usuario jorge vila en youtube donde crea una tienda online. (Lo que pasa es que para enseñarte ese detalle el te cobra 60 euros creo).
Espero me puedar ayudar.
Saludos y muchas gracias.
0
Puntos
Puntos
Por poxipol hace 119 meses
Principiante
Respuesta #3
Wow.. ¿60?
Bueno mira, normalmente el SEO es el titulo de algo, en tu caso supongo que sería el nombre del producto, usaré el nombre como ejemplo.
En el tema que te referí, hay una función llamada seo_url que lo que hace es convertir algunos caracteres en otros para que no se vea feo en la url. Por ejemplo
Ya con eso está hecho la primera parte que es convertir el nombre, o titulo en una url amigable. Ahora ¿cómo visualizarla?
Supongamos que tienes una URL original que es
Para eso se usa el archivo .htaccess, debes crear un archivo sin nombre de extensión .htaccess y colocas esto
^producto/(.+)$ : Significa la ruta amigable que deseas. Ejemplo: http://tupagina.com/producto/Libro-para-ninos
prudcto.php?seo=$1 : Significa la ruta original que será reemplazada, el $1 significa el valor que toma seo=
Bien, el .htaccess debes guardarlo en la carpeta raíz y no en subcarpetas. Si escribes en la url
http://tupagina.com/producto/nombre-del-producto
Debería mostrarte la página. Pero eso no es todo, falta modificar (si tienes) el enlace que te lleva a eso. Por ejemplo si antes tenías
Si mi explicación no es suficiente, pregunta sin pena y te vuelvo ayudar :D
Suerte.
Bueno mira, normalmente el SEO es el titulo de algo, en tu caso supongo que sería el nombre del producto, usaré el nombre como ejemplo.
En el tema que te referí, hay una función llamada seo_url que lo que hace es convertir algunos caracteres en otros para que no se vea feo en la url. Por ejemplo
sin la función: Hola%20amigos con la función Hola-amigosAl momento de insertar el valor a la base de datos debes colocar la variable, entre la función. Ejemplo
<?php //Función para remplazar cadena function seo_url($cadena){ $cadena= utf8_decode($cadena); $cadena = str_replace(' ', '-', $cadena); $cadena = str_replace('?', '', $cadena); $cadena = str_replace('+', '', $cadena); $cadena = str_replace(':', '', $cadena); $cadena = str_replace('??', '', $cadena); $cadena = str_replace('`', '', $cadena); $cadena = str_replace('!', '', $cadena); $cadena = str_replace('¿', '', $cadena); $originales = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ??'; $modificadas = 'aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr'; $cadena = strtr($cadena, utf8_decode($originales), $modificadas); return $cadena; } // Convertir el nombre del producto en url amigable. $Nombre_Del_Producto = "Libro para niños"; $seo= seo_url($Nombre_Del_Producto); ?>Y en tu consulta mysql colocas que la variable a insertar en ese campo será $seo.
Ya con eso está hecho la primera parte que es convertir el nombre, o titulo en una url amigable. Ahora ¿cómo visualizarla?
Supongamos que tienes una URL original que es
http://tupagina.com/producto.php?seo=Libro-para-ninosPero tu quieres que sea
http://tupagina.com/producto/Libro-para-ninos
Para eso se usa el archivo .htaccess, debes crear un archivo sin nombre de extensión .htaccess y colocas esto
## Esto es un comentario <-- ## Activar mod_rewrite de Apache para la reescritura de las URL RewriteEngine On ## URL amigable de los articulos RewriteRule ^producto/(.+)$ producto.php?seo=$1Glosario:
^producto/(.+)$ : Significa la ruta amigable que deseas. Ejemplo: http://tupagina.com/producto/Libro-para-ninos
prudcto.php?seo=$1 : Significa la ruta original que será reemplazada, el $1 significa el valor que toma seo=
Bien, el .htaccess debes guardarlo en la carpeta raíz y no en subcarpetas. Si escribes en la url
http://tupagina.com/producto/nombre-del-producto
Debería mostrarte la página. Pero eso no es todo, falta modificar (si tienes) el enlace que te lleva a eso. Por ejemplo si antes tenías
<a href="producto.php?seo=X"> Ver producto </a>Ahora debe ser
<a href="producto/X"> Ver producto </a>Es decir, colocar la ruta amigable que pusiste en el .htaccess y X sería la variable que contiene el valor del campo seo de la base de datos.
Si mi explicación no es suficiente, pregunta sin pena y te vuelvo ayudar :D
Suerte.
Respuesta #4
Jose. Gracias por tu ayuda recien hoy pude leer tu respuesta, voy a probar el script y te cuento como me fue.
Nuevamente gracias.
Saludos
Nuevamente gracias.
Saludos
5
Puntos
Puntos
Por poxipol hace 119 meses
Principiante