删除应用程序的名称在我的开发环境从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。 –