Foros del Web » Programando para Internet » PHP »

aplicar URL amigable

Estas en el tema de aplicar URL amigable en el foro de PHP en Foros del Web. Hola estoy tratando de aplicar url amigables a mi sitio, tengo títulos de articulos de este esttilo: "Apa , a vos te fabricaron con ganas ...
  #1 (permalink)  
Antiguo 20/12/2011, 18:56
 
Fecha de Ingreso: agosto-2010
Mensajes: 177
Antigüedad: 13 años, 8 meses
Puntos: 5
Pregunta aplicar URL amigable

Hola estoy tratando de aplicar url amigables a mi sitio, tengo títulos de articulos de este esttilo:

"Apa , a vos te fabricaron con ganas :)"

y lo que quiero es que quede en la URL: misitio.com/titulo/Apa-a-vos-te-fabricaron-con-ganas

sacando todos los simbolos y con un maximo de 10 o 15 palabras con php, se que tengo también que editar el HTACCESS, pero tampoco se como...


Si alguien me puede ayudar agradezco
  #2 (permalink)  
Antiguo 20/12/2011, 22:11
 
Fecha de Ingreso: diciembre-2007
Mensajes: 96
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: aplicar URL amigable

no hay necesidad de renombrar el titulo pues el .htacces te hace todo con el rewriterule pero eso si
tienes que cambiar los enlaces de tu web para que funcione
aqui te pongo el rewrite rule

#primer activamos el rewrite con:
RewriteEngine on
#luego ya la regla de reescritura
RewriteRule ^carpeta/(.*)$ nombredearchivodondeseprocesasa.php?nombreId=$1

en esta regla lo que le dices al servidor es si algun link va a la carpeta: carpeta/

toma todos los valores despuesde carpeta/ con (.*)

y procesalo en nombredearchivodondeseprocesasa.php con el parametro url: nombreId=
poniendole los valores que se tomaron despues de: carpeta/ el cual se hace con la variable $1
  #3 (permalink)  
Antiguo 21/12/2011, 05:07
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 12 años, 7 meses
Puntos: 140
Respuesta: aplicar URL amigable

Hola,
A parte de lo que te comenta enriquezm, primero deberías adaptar los títulos para eliminar simbolos no deseados, cambiar espacios por guiones, etc.
Puedes mirarte la funcion preg_replace (http://php.net/manual/es/function.preg-replace.php) para hacer esto.

Saludos
  #4 (permalink)  
Antiguo 21/12/2011, 07:56
 
Fecha de Ingreso: agosto-2010
Mensajes: 177
Antigüedad: 13 años, 8 meses
Puntos: 5
Respuesta: aplicar URL amigable

charlyalegret, gracias ya pude conseguirlo!


enriquezm, no necesito tener el ?nombreId=$1 solo que al poner /titulo/ lo reenvie a titulo.php


sin las variables, seria lo mismo?


Saludos.
  #5 (permalink)  
Antiguo 21/12/2011, 08:05
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 12 años, 7 meses
Puntos: 140
Respuesta: aplicar URL amigable

De nada!
y sí, sería lo mismo, es decir:

RewriteRule ^titulo/(.+)$ $1.php

Aunque no sé como gestionas los artículos, lo habitual sería tener un sólo archivo (ej. articulos.php) y le pasaras la variable por la url, luego según la variable muestras un artículo u otro (almacenados en bd, array, variables, archivos de texto o como sea), por eso enriquezm ha puesto esa regla!

Saludos
  #6 (permalink)  
Antiguo 21/12/2011, 08:14
 
Fecha de Ingreso: agosto-2010
Mensajes: 177
Antigüedad: 13 años, 8 meses
Puntos: 5
Respuesta: aplicar URL amigable

textualmente lo pongo asi: RewriteRule ^titulo/(.+)$ $1.php o el $1 seria titulo.php?


Saludos.
  #7 (permalink)  
Antiguo 21/12/2011, 08:22
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: aplicar URL amigable

No.

$1 sería la primera variable (que la obtiene del (.+)$).

Deberias poner algo así:
RewriteRule ^titulo/(.+)$ titulo.php

Lo que no entiendo, es pq quieres que cualquier enlace q hagas, sea el titulo q sea, vaya a titulo.php sin pasarle un parametro... pro weno :)
__________________
>> Eleazan's Source
>> @Eleazan
  #8 (permalink)  
Antiguo 21/12/2011, 08:23
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 12 años, 7 meses
Puntos: 140
Respuesta: aplicar URL amigable

mmmm... no entiendo....

Con la siguiente regla:
RewriteRule ^titulo/(.+)$ $1.php

Lo que consigues es que al escribir la url
tuweb.com/titulo/cualquiercosa
Tu servidor interprete:
tuweb.com/cualquiercosa.php

Es decir, en estas reglas, cualquier cosa general en la primera parte de la regla (en este caso .+, que significa cualquier caracter(el .) y como mínimo 1 o más (el +)) se traspasa a la segunda parte de la regla donde pongas $1... más o menos.

Entonces, cual es tu intención? qué redirección quieres hacer?

tenemos claro que quieres la url amigable del tipo:

misitio.com/titulo/Apa-a-vos-te-fabricaron-con-ganas

pero, cómo lo tiene que interpretar el servidor?

misitio.com/titulo.php
misitio.com/titulo.php?Apa-a-vos-te-fabricaron-con-ganas
misitio.com/Apa-a-vos-te-fabricaron-con-ganas.php

o como?
  #9 (permalink)  
Antiguo 22/12/2011, 11:36
 
Fecha de Ingreso: agosto-2010
Mensajes: 177
Antigüedad: 13 años, 8 meses
Puntos: 5
Respuesta: aplicar URL amigable

Gracias ya pude hacerlo, Saludos.

Etiquetas: url, amigables
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 02:34.