HTTP Module limitation
When calling code in an ASP.NET website is transferred using server.transfer in an HTTP Module, it is not technically possible to get the virtual directory for the destination page in code. There is no current work around for this issue.