2015-11-20 75 views
-1

將我的MVC5 web應用程序發佈到我的IIS服務器(個人用戶帳戶)後,似乎URL被錯誤訪問。在IIS7 MVC 5中的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中的URL,但它只會導致更多的解析問題。

我周圍搜索,似乎無法找到任何相關的問題。我希望這裏有人能夠伸出援助之手。

回答

0

看起來你正在使用像「/ api/Account/UserInfo」這樣的相對路徑。相反,我會建議你使用@Url.Content("/api/Account/UserInfo")。這將解決您的問題

說明

在本地系統中,當我們正確運行在Webdev的服務器應用程序,它永遠不會有子文件夾(如WEBAPPLICATIONNAME)因此,你的相對路徑工作。但是當您將應用程序託管在另一個新網站/虛擬文件夾(如「WEBAPPLICATIONNAME」)中的默認網站的IIS下時,則「/ api/Account/UserInfo」會返回到默認網站,因爲在開始時爲「/」。 @Url.Content@Url.Action確保添加虛擬目錄名稱,因此在IIS中將路徑更改爲「/ WEBAPPLICATIONNAME/api/Account/UserInfo」。

相關問題