Asp.net mvc 在没有域的IIS上运行MVC应用程序

Asp.net mvc 在没有域的IIS上运行MVC应用程序,asp.net-mvc,iis-7,Asp.net Mvc,Iis 7,我的应用程序包含许多指向根目录(“/login/dologin”)的链接。当我在域下运行应用程序时,没有问题 现在我正在迁移到一个新的服务器,我无法测试我的应用程序。我的应用程序位于“localhost/md”,我需要指向“localhost/md/login/dologin”的链接。而是转到“localhost/login/dologin”,当然,找不到资源 我需要在IIS上配置什么才能在没有域的情况下工作 谢谢。这只是猜测,因为您还没有发布任何配置 在web.config中的身份验证元素中,

我的应用程序包含许多指向根目录(“/login/dologin”)的链接。当我在域下运行应用程序时,没有问题

现在我正在迁移到一个新的服务器,我无法测试我的应用程序。我的应用程序位于“localhost/md”,我需要指向“localhost/md/login/dologin”的链接。而是转到“localhost/login/dologin”,当然,找不到资源

我需要在IIS上配置什么才能在没有域的情况下工作


谢谢。

这只是猜测,因为您还没有发布任何配置

在web.config中的身份验证元素中,是否有到登录页面的路由指定为
/login/dologin
?你能试试
~/login/dologin

第二个选项应该为您提供一个从虚拟目录应用程序的主目录到“站点”根目录的相对路径

对于引用文件(例如javascript和css),您可以执行
@Url.Content(“~/path/to/file.js”)

编辑:基于其他评论

在Layout.cshtml中

var SITE_ROOT = '@Url.Content("~/")'
然后在JS文件中使用SITE_ROOT作为路由的前缀

var url = SITE_ROOT + "Home/Index";

我没有关于这个问题的任何具体配置。我可以使用@url.action更改应用程序中的链接,但在js文件中我该怎么做?对于js文件,您可以在布局和视图中使用
@url.Content(“~/path/to/file.js”)
在js文件中我该怎么做(当我不能使用html助手时)哦,您需要在布局中创建一个站点根变量,并从js文件中引用它。我将在我的报告中添加一个示例answer@Shahar-您能否举例说明如何在javascript中使用显式路径?