To perform a redirect from a non-MVC page to an MVC controller action your best bet is to use a library like UrlRewriting.net or similar which uses an HttpModule to process each request and dispatch it to a specific location.
Example: Redirect requests for '/faq.asp' to '/faq':
<add name="faq.asp" virtualUrl="^~/faq.asp([\?#].*)?$"
destinationUrl="~/faq"
redirect="Application"
redirectMode="Permanent"
ignoreCase="true" />
When you add the HttpModule that powers UrlRewriting.Net to your Web.config, make sure you define it before the UrlRoutingModule which is defined by ASP.NET automatically. Otherwise, ASP.NET will attempt to handle your request by mapping it to a a file or controller and you may experience some unexpected problems as a result.
<modules runAllManagedModulesForAllRequests="true">
<add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter"/>
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</modules>