Mira, te explico.
Tanto Javascript, como PHP o ASP son lenguajes que interpreta el navegador, en el primer caso, o el servidor en los otros dos. Estos lenguajes no son más que texto con una serie de instrucciones, lo mismo que HTML.
Si tu llamas a una página, bien escribiendo su dirección en el navegador o bien a través de un enlace, el servidor te devuelve la información que contiene esa página.
En el caso de que sea ASP o PHP, se procesa antes de salir del servidor si es que tiene alguna instrucción que lo requiera y postriormente te envía el resultado.
Si la página es puro HTML, que puede contener Javascript y otros lenguajes de script, se envía tal cual y luego tu navegador se encarga de interpretar esa información y mostrarla.
Por tanto, a nos ser que llames a una página HTML, XML (creo que se llama así), ASP, PHP, .... ni tu navegador recibirá ningún tipo de código susceptible de ser ejecutado ni el servidor procesará ningún tipo de información para ofrecerte un resultado.
En resumen, si quieres bajar por ejemplo un archivo ejecutable (.exe) te bastará con escribir su ruta, pongamos
http://www.tudominio.com/programas/quevoy.exe.
Si el servidor está habilitado para que puedas acceder a la carpeta programas el archivo comenzará a bajarse sin que intervenga para nada cualquier documento PHP, ASP, HTML, ....
Por tanto, sólo te queda, restringir el acceso a las carpetas y mostrar un mensaje por defecto que te redirija a la página que tú quieres. Pero eso ha de ser tema del servidor y no de en lenguaje de programación para webs.
Eso sí, una vez redirigido a la página que quieres, podrás saltar esa restricción, por ejemplo, con PHP para poder descargar archivos como si fuera una especie de registro previo. Pero, ¿a ver como lo haces?
Espero haberte aclarado algo, y si estoy equivocado
que alguien conteste rápido para subsanar el error.
Un saludo.