私の開発環境では
Url.Action("Index", "User") ---> /user
本番環境では、アプリケーションは「ucms」という名前のアプリケーションの下に構成されています
Url.Action("Index", "User") ---> /ucms/User
/user などの URL に基づいて承認されているため、運用環境では失敗しています。この問題を修正して 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
);
編集 私はそれを行う1つの方法を見つけました。これについて誰かが考えを共有できますか.
仮想パスを web.config に保存します。
<add key="appvirtualpath" value="~/ucms"/>
そして、URL をデータベース レイヤーに渡すときに、仮想パスを置き換えて空白にします。
Url.Action("Index","User").Replace(ConfigurationManager.AppSettings["appvirtualpath"].ToString(), "~");