What do you mean with virtual link? Should calling it result in an http redirect to the new url? Or should it return the same content as the original url would have? For the former case you can use the 'redirect' package, for the latter just mount your package again using the site-map. I don't know if that works with dotlrn though, it might still depend on being mounted under /dotlrn/.