【问题标题】:Ugly URLs when an ASP .NET MVC app is hosted in a virtual directoryASP .NET MVC 应用程序托管在虚拟目录中时的丑陋 URL
【发布时间】:2010-01-12 21:27:26
【问题描述】:

我正在使用 Godaddy Deluxe 托管,它允许我在一个托管帐户中托管多个网站。主网站托管在托管帐户的根目录中,其余网站托管在 /hosting/websitename 形式的子文件夹中。

如果我在虚拟目录下部署 MVC 应用程序,我会得到如下丑陋的 URL:

http://www.mywebsite.com/hosting/mywebsite/Home/About

注意 /hosting/mywebsite 部分。出于某种原因,Html.ActionLink 辅助方法会推断出真正的托管路径,这正是我想要避免的。 URL 应如下所示:

http://www.mywebsite.com/Home/About

通过创建新的 MVC 应用程序并将开发服务器的文件夹从根目录 (/) 更改为其他文件夹(例如 /hosting/),可以轻松重现该问题。

除了购买一个新的 Godaddy 托管帐户之外,我还能如何解决这个问题?

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    虽然不是明确的答案,但有一个技巧可以解决问题。它在 SO 上发布right here

    【讨论】:

    • 您的链接指向同一条消息
    • 感谢 @burnt_hand 让我知道链接已损坏。我修好了它。 (现在我想出了反对票:-))
    【解决方案2】:

    您需要在您的帐户中运行多个网站吗?如果没有,请教 godaddy 如何让你的 MVC 站点成为 root。


    这在技术层面很容易解决,但不受您指出 GoDaddy 存在的限制。

    好的,我个人并不熟悉 godaddy 的托管选项,但您最好的选择可能是将您的业务转移到可以拥有多个 root 运行应用程序的其他地方,因为 GoDaddy 在这里似乎有点限制。或者,如果您想获得权宜之计,只需为该应用程序购买一个单独的帐户。

    【讨论】:

    • 是的,我在一个托管帐户上运行多个网站,否则我可以购买一个额外的帐户,瞧,问题解决了。
    【解决方案3】:

    我已经用过很多次 GoDaddy,但我还没有完成你提到的这个确切的场景,但是......

    您是否尝试过从控制面板转到“IIS 管理”并将您为 MVC 应用程序提供服务的目录设置为应用程序根目录?我相信您只需单击虚拟目录的编辑按钮,就会出现一个下拉菜单,您可以在其中将该目录设置为应用程序根目录。让我知道这是否有效。

    【讨论】:

    • 目录是应用根目录。 Godaddy 在将新域添加到主机帐户时默认设置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-29
    • 2011-01-23
    • 1970-01-01
    • 1970-01-01
    • 2021-03-23
    相关资源
    最近更新 更多