Foros del Web » Administración de Sistemas » Apache »

Mi Dilema con .htacess ayuda por favor

Estas en el tema de Mi Dilema con .htacess ayuda por favor en el foro de Apache en Foros del Web. Hola a todos, Estoy desarrollando un catalogo en linea con Apache/PHP/MySQL donde tengo un link por ejemplo: http://www.tienda.com/catalogo.php?i...smartmedia-660 y deseo simplemente convertirlo a http://www.tienda.com/catalogo/hp-smartmedia-660 Conozco ...
  #1 (permalink)  
Antiguo 05/08/2008, 03:02
Avatar de michaelc  
Fecha de Ingreso: abril-2005
Ubicación: Caracas
Mensajes: 112
Antigüedad: 19 años, 7 meses
Puntos: 3
Mi Dilema con .htacess ayuda por favor

Hola a todos,

Estoy desarrollando un catalogo en linea con Apache/PHP/MySQL donde tengo un link por ejemplo: http://www.tienda.com/catalogo.php?i...smartmedia-660 y deseo simplemente convertirlo a http://www.tienda.com/catalogo/hp-smartmedia-660

Conozco los pasos para convertir el URL con .htaccess pero mi dilema va mas allá, resulta que revisando CMS con Wordpress para tomar ideas; puedo convertir los permalinks unicamente con el titulo de mi post por ejemplo: http://www.blog.com/miarticulo y ya con eso llama a un post con ese nombre sin mostrar su ID, si creo un nuevo post con el mismo titulo Wordpress lo convierte a http://www.blog.com/miarticulo-2 quiere decir que detecta en principio si ya existe un link con ese nombre y segundo lo almacena ¿pero donde?, adicional en el URL no se ve ningun ID para llamar el post por lo que el archivo es llamado unicamente por su titulo. Estuve indagando un poco en las carpetas de instalacion y el archivo .htaccess y no almacena ahi la lista de post y menos en la Base de Datos.

¿Como hace Wordpress para manejar estos links?, ¿Donde los almacena? Quiero aprender a manejarlo bajo esta metodologia para tener links muy eficientes y sin conflictos con sus nombres. ¿que puedo hacer?

Por otro lado amigos he leido dentro del foro que si tengo ambos links funcionando Google me penaliza por ello, entonces como elimino el link del URL No Amigable. Lei que con el robots.txt pero como trabajo esto de forma dinamica, no creo que con un fopen() y fwrite() puesto que el archivo se haria inmenso y dentro de Wordpress no he visto que lo trabaje de esta forma.

No pido que me respondan la serie de preguntas se que son varias para un solo post , pero al menos en lo que me puedan ir colaborando y recopilando sus tips o codigos se lo agradeceria para armar algo final.

Muchas Gracias a todos
__________________
http://www.michaelcrespo.net/
Diseñador Web, Gráfico y Multimedia
  #2 (permalink)  
Antiguo 06/08/2008, 02:36
Avatar de michaelc  
Fecha de Ingreso: abril-2005
Ubicación: Caracas
Mensajes: 112
Antigüedad: 19 años, 7 meses
Puntos: 3
Respuesta: Mi Dilema con .htacess ayuda por favor

Lamentablemente no he recibido respuesta a mis dudas pero la he conseguido amigos, he descubierto como se aplican usando el ejemplo que di de Wordpress, se los comento por si a futuro alguien se le presenta mi misma duda:

El truco esta en almacenar el titulo o URL amigable en nuestra base de datos, para los curiosos como yo Wordpress 2.6 por ejemplo, almacena el contenido de cada Post en la tabla "wp-post" existe ahí un campo llamado "post_name" este campo es el que almacena el URL Amigable.

Los pasos a seguir metodologicamente serian:

  1. En el formulario donde agregamos la data del producto/articulo debemos destinar un campo para almacenar el nombre de la URL Amigable. Podemos tomar el campo "titulo" y aplicar una funcion que convierta el titulo en una URL Amigable sin caracteres que nos dañen la funcionalidad, por ejemplo si nuestra URL ideal es http://www.tienda.com/catalogo/hp-smartmedia-660 almacenamos solamente hp-smartmedia-660 en un campo que se llame "url_amigable" por ejemplo
  2. Cuando le damos a enviar debemos tener un Script SQL que haga una consulta a todos los campos "url_amigable" para comprobar que no tenemos ningun URL existente con ese nombre y evitar conflictos, de ser asi hariamos un SQL que al agregar un URL duplicado lo corrija con un sufijo, podria quedar como hp-smartmedia-660-2 como lo hace wordpress o un sufijo aleatorio hp-smartmedia-660-r8g75b aunque recomiendo la primera opción para descartar posibilidades de duplicados por coincidencias en la ejecución de un script aleatorio.
  3. Simplemente cuando ingresamos la URL http://www.tienda.com/catalogo/hp-smartmedia-660 descomponemos nuestra estructura con una funcion como explode() y obtenemos el nombre "hp-smartmedia-660" almacenado en una variable, lo unico que nos resta hacer es un SQL que consulte por nombre dentro del campo "url_amigable" y nos devolverá todo el contenido asociado que tengamos en esa tabla con ese nombre.
Era mas sencillo de lo que imaginaba, lo dificil es aplicarlo en código pero ya para eso he encontrado dentro del foro soluciones para aplicar el URL Amigable

Espero les haya servido de ayuda, cualquier aporte es bienvenido.
__________________
http://www.michaelcrespo.net/
Diseñador Web, Gráfico y Multimedia
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 08:02.