ASP .NET MVC应用程序托管在虚拟目录中时的丑陋URL

时间:2009-11-09 10:31:40

标签: asp.net-mvc

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

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

  

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

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

  

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

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

除了购买新的Godaddy托管帐户外,我该怎么办呢?

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

您是否需要在帐户中运行多个网站?如果没有,请问godaddy如何让你的MVC网站成为根。


这很容易在技术水平上得到解决,但不是你在GoDaddy中存在的约束条件。

好吧,我个人并不熟悉godaddy的主机选项,但你最好的选择可能就是把你的业务带到其他你可以有多个root运行应用程序的地方,因为GoDaddy似乎有点限制。或者,如果您想要获得权宜之计,只需为该应用程序购买一个单独的帐户。

答案 2 :(得分:0)

我已经使用了GoDaddy但我还没有做你提到过的确切场景,但是......

您是否尝试从控制面板转到“IIS管理”并将您的MVC应用程序的任何目录设置为应用程序根目录?我相信您只需单击虚拟目录的编辑按钮,就会出现一个下拉列表,您可以将该目录设置为应用程序根目录。如果有效,请告诉我。