y está línea?  ya se hacen todas esas validaciones antes de esta línea y falta la validación si es vacio, puede que la variable exista pero  no tenga un valor, entonces el URL se armará incorrectamente.