ASP.NET MVCサイトがあり、ローカルで実行すると問題なく動作します。そのサイトをIIS7に展開すると、リソースへのすべてのリンク(つまり、スクリプトファイル、イメージ、cssファイル)が壊れます。これはルートの問題でしょうか、それともIIS設定でしょうか?
これが私のルートです:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("elmah.axd");
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Search",
"Basic/Page/{page}",
new { controller = "Search", action = "Basic" }
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = MVC.Welcome.Name, action = MVC.Welcome.Actions.Index, id = "" } // Parameter defaults
);
}
編集:
T4MVCテンプレートを使用してすべてのコンテンツを参照します。〜/ content /でパスを指定する場合、テンプレートは正しいです。問題は、htmlが生成されるときに、出力に「〜」が含まれず、/content/だけであるということです。
<img src="<%= Links.Content.Images.logo_png %>" alt="Logo" />
<img src="/Content/Images/logo.png" alt="Logo" />
ノート:
実際の問題は、web.configのこの行に問題があることでした。2011年1月1日は金曜日ではなく、土曜日であることが判明しました。どういうわけか、それはまだその行が好きではありませんでした。
<clientCache httpExpires="Fri, 1 Jan 2011 15:30:00 UTC" cacheControlMode="UseExpires"/>
これに変更すると問題なく動作します。
<clientCache cacheControlMode="UseExpires" httpExpires="Tue, 19 Jan 2038 03:14:07 GMT" />
この問題で他の人に役立つことを期待して、ここに追加します。
ありがとう!