title: RedirectToLocal() goes to a different url
body: <p>The following code snippet is from my ASP.NET MVC 5 application:</p>
  
  <pre><code>   public ActionResult Ask(string id) {
          if (!this.User.Identity.IsAuthenticated) {
              string retUrl = Request.Url.AbsoluteUri;
              return RedirectToAction("Login", "Account", new { returnUrl = retUrl });
          }
          ...
     }
  </code></pre>
  
  <p>The idea is, if the user has not yet logged in, he will be taken to the login page and subsequently be returned back to this "Ask" page. </p>
  
  <p>When the user enters, for example, <code><a href="http://example.com/Home/Ask/12345678" rel="nofollow">http://example.com/Home/Ask/12345678</a></code>, method Ask() gets invoked with the correct value for id. The user is now redirected to the login page.</p>
  
  <p>After Login() code in AccountController successfully authenticates the user, it calls ReturnToLocal(), passing in the url that we expect (<code><a href="http://example.com/Home/Ask/12345678" rel="nofollow">http://example.com/Home/Ask/12345678</a></code>). However, instead of invoking the Ask() method , ASP .NET somehow ends up invoking Index() method. </p>
  
  <p>Appreciate your help in understanding why my redirection is broken. Regards.</p>