刪除應用程序的名稱在我的開發環境從URL中的ASP.NET MVC應用程序
Url.Action("Index", "User") ---> /user
在生產中,應用程序被命名爲「UCMS」
Url.Action("Index", "User") ---> /ucms/User
我申請下配置的授權依據在URL即/ user上,所以它在生產環境中失敗。我如何解決這個問題,以消除ucms?
編輯 路由是默認路由。僅供參考,我已將應用程序從mvc 3.0升級到4.0。
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
編輯 我已經想通了,這樣做的一種方式,可以在這個任何人共用的想法。
在web.config中存儲虛擬路徑。
<add key="appvirtualpath" value="~/ucms"/>
雖然網址傳遞到數據庫層,我將取代虛擬路徑將空白。
Url.Action( 「索引」, 「用戶」)更換(ConfigurationManager.AppSettings [ 「appvirtualpath」]的ToString(), 「〜」。)。
您可以發佈您的路由配置的方法嗎? –
我對你在這裏實際嘗試做什麼感到困惑。你想更改服務器上的應用程序的URL?你想在開發環境中更改你的應用程序的url?你想爲每個生成正確的網址?這就是Url.Action已經做的事情......我真的不明白你的問題是什麼。另外,fyi,它不是〜/ ucms/User,除非你配置錯誤,它是〜/ User =/ucms/User ..〜表示應用程序根目錄,應用程序根目錄是/ ucms。 –