Creo que no me doy a explicar.
Mira, ya sabemos que $url la construyes y es obvio que no necesitamos saber como usas $url, tampoco como la construyes, me refiero al valor de $url.
Es decir, que debes imprimir dicha variable y mostrarnos el resultado.
Ese mismo resultado es el que al final, después de ser evaluado, representa la URL que te da problemas.
Si somos capaces de ver esa URL tal vez podamos hacer la misma prueba y determinar que está mal, no sé, ¿se te ocurre algo mejor?
Ayúdanos a ayudarte.