MVC重定向正在向URL添加虚拟目录

时间:2012-11-27 18:36:50

标签: asp.net-mvc iis-7

我的网站托管在具有多个虚拟目录的服务器上,并且我有不同的域名指向其各自的虚拟目录。我的网站在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指向虚拟目录,我很困惑为什么它们都可以工作。

修改

我最终找到了答案: https://stackoverflow.com/questions/364637/asp-net-mvc-on-godaddy-not-working-not-primary-domain-deployment

所以你可能想把它关闭成一个重复的问题,对不起。除非有人能够更详细地解释这个解决方案。

<rewrite>
    <rules>
        <rule name="Remove Virtual Directory">
            <match url=".*" />
            <action type="Rewrite" url="{R:0}" />
        </rule>
    </rules>
</rewrite>

1 个答案:

答案 0 :(得分:1)

RedirectToAction将重定向到当前asp.net mvc应用程序内的另一个Action / Controller。您可以使用Redirect方法重定向到外部URL。

return Redirect("http://www.externalurl.com");

或其他虚拟目录:

return Redirect("http://www.externalurl.com/directory");