Hola,
Yo trataría de determinar el archivo a descargar partiendo de su ID y no se ruta en el Servidor, por varios motivos. Es más sencillo y menos problemático hacerlo mediante su ID, pero, también así evitamos que nadie sepa de cómo está organizado el sistema de archivos... si bien no sé hasta qué punto esto puede representar un verdadero problema de seguridad.
La idea es que es bastante más sencillo esto:
Código:
http://www.misitio.com/descarga.php?id=123
Que esto otro:
Código:
http://www.misitio.com/descarga.php?id=/directorio/b/archivo.txt