Ya lo tengo!!!
Creo que mi vicio por hacer exactamente lo que quiero no me di por vencido y en la noche en la cama se me ocurrió una solución jaja.
Tenía razón en lo anterior, lo comprobé:
Cita: el signo + es interpretado como espacio cuando va después del signo ? para las variables del lenguaje de servidor, si van antes, el + se representa como un %2B y el espacio como %20.
Aunque en la parte que subraye no necesariamente es así, por ejemplo, si tenemos carpetas con el signo + en la URL se escriben como tal sin escribir su codificación.
Bueno les cuento como lo solucioné.
Primero tomé el código de
David y las URLs me aceptaron los puntos. Muchas gracias David ^^
Segundo, con lo que dije anteriormente, almacené en la base de datos las URL cambiando los + por espacios. Tenía por ejemplo:
que quedó como
Así cuando se pida:
Código:
http://www.example.com/La-suma-de-2 3
En realidad se estará accediendo con la regex del .htacces a:
Código:
http://www.example.com/pagina.php?url=La-suma-de-2 3
Y como los espacios se transforman a + cuando están después del signo ?, estaríamos accediendo a:
Código:
http://www.example.com/pagina.php?url=La-suma-de-2+3
por lo que podemos enlazar libremente a esta página como:
Código:
<a href="/La-suma-de-2+3">
<a href="/La-suma-de-2%2B3">
<a href="/La-suma-de-2%203">
<a href="/La-suma-de-2 3">
Y obviamente se elige la primera =) (no es inválido frente al validador de la W3C como pensaba).
Saludos!