Ver Mensaje Individual
  #7 (permalink)  
Antiguo 07/09/2012, 04:35
DoHITB
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años, 7 meses
Puntos: 33
Respuesta: Limpiar url con htaccess

Resuelto el asunto.

Lo explico de la manera que alguien sin idea de PHP lo pudiera explicar e incluso entender:

de una web como

Código:
miweb.com/pagina?elemento=123456
se pasa a

Código:
miweb.com/pagina/elemento=123456
usando la siguiente línea en .htaccess

Código:
Options +FollowSymlinks
RewriteEngine on

RewriteRule ^/pagina/elemento=(.+)$ http://mipagina.com/pagina?elemento=$1
Adicionalmente, en la ruta de llegada (pagina?elemento=X) hago lo siguiente:

- Recogo la variable GET (elemento)
- Recupero un valor relacionado de la base de datos (por ejemplo, "ford-focus")
- Envío por POST la variable GET recuperada y por POST el dato recuperado de la base de datos, a la siguiente dirección

Código:
miweb.com/pagina/e-ford-focus
Por último, añado en .htaccess

Código:
RewriteRule ^/pagina/e-(.+)$ http;//mipagina.com/pagina?enombre=$1
Así, en la última web redirigida obtengo:

- GET: "ford-focus"
- POST: 123456

O lo que es lo mismo: en GET tengo un descriptor "elegante", y en POST tengo los descriptores de seguridad.


Como ves, emprear, no hace falta entrar ni en PHP ni en nada más. Creo que por incluir un par de referencias a HTML general no hubiera pasado nada, ¿no crees?

Como te dije en otros posts, me hubiera ayudado más una respuesta de este tipo (obviamente no explicado así, pero entrar el concepto de meter algo por post y algo por get, usar una página puente...), que no recordarme qué es una variable GET y demás...

Bueno, se que quizás no es la forma más óptima de arreglar este problema, pero me funciona...