我的网站托管在具有多个虚拟目录的服务器上,并且我有不同的域名指向其各自的虚拟目录。我的网站在Visual Studio中的调试模式下工作正常,没有任何异常情况发生。
网址类似于http://www.greatsite.com,但RedirectToAction链接如下:
return RedirectToAction("Profile", "Account");
我想去这里......
http://www.greatsite.com/Account/Profile
......转而来到这里:
http://www.greatsite.com/greatsite/Account/Profile
...其中'greatsite'是虚拟目录的名称。
该网站使用FTP发布,FTP地址直接指向“greatsite”文件夹。因此,就FTP而言,该站点将发布到根目录。
页面以任一方式显示。 URL指向虚拟目录,我很困惑为什么它们都可以工作。
修改
所以你可能想把它关闭成一个重复的问题,对不起。除非有人能够更详细地解释这个解决方案。
<rewrite>
<rules>
<rule name="Remove Virtual Directory">
<match url=".*" />
<action type="Rewrite" url="{R:0}" />
</rule>
</rules>
</rewrite>
答案 0 :(得分:1)
RedirectToAction将重定向到当前asp.net mvc应用程序内的另一个Action / Controller。您可以使用Redirect方法重定向到外部URL。
return Redirect("http://www.externalurl.com");
或其他虚拟目录:
return Redirect("http://www.externalurl.com/directory");