将我的MVC5 Web应用程序发布到我的IIS服务器(个人用户帐户)后,似乎访问的URL不正确。
在调试期间,它将是例如http://localhost:1234/api/Account/UserInfo?=XXXXX
调试工作得很好。在我通过我的IIS7服务器发布它之后,唯一的问题就出现了。
发布并使用Google Chrome控制台后,该网页似乎正在mydomainname.com/api/Account/UserInfo?=XXXX
而不是mydomainname.com/WEBAPPLICATIONNAME/api/Account/UserInfo?=XXXX
请求资源。
我最好的猜测是修改/Scripts/app/app.datamodel.js
中的网址,但这只会导致更多解析问题。
我已经四处搜索,似乎无法找到任何相关问题。我希望有人能够伸出援助之手。
答案 0 :(得分:0)
看起来你正在使用像" / api / Account / UserInfo"这样的相对路径。相反,我建议您使用@Url.Content("/api/Account/UserInfo")
。这将解决您的问题
<强>解释强>
在本地系统中,当我们在WebDev服务器中运行应用程序时,它永远不会有子文件夹(如WEBAPPLICATIONNAME),因此您的相对路径正常工作。但是当您在IIS中的另一个新网站/虚拟文件夹(例如&#39; WEBAPPLICATIONNAME&#39;)中的默认网站下托管您的应用程序时,那么&#34; / api / Account / UserInfo&#34;回到默认网站,因为&#39; /&#39;在开始。 @Url.Content
或@Url.Action
确保添加虚拟目录名称,从而将路径更改为&#34; / WEBAPPLICATIONNAME / api / Account / UserInfo&#34;在IIS中。