2

wwwroot のサブ フォルダーに移動された MVC アプリケーションがあり、このサブ フォルダーは IIS を介してアプリケーションにされています。したがって、ログインページへのURLが次のようになる前は、次のようになります。

www.mydomain.com/login

次のようになります。

www.mydomain.com/application/login

アプリケーションは正常に動作します。アプリケーション内のルーティングやリンクには影響していないようです。ただし、次のように画像 src を参照している場合に問題が発生しています。

<img src="/content/images/myimage.png"/>

URL www.mydomain.com/content/images/myimage.pngから画像を取得しようとしているため、明らかに 404 が返されます。

私のglobal.asaxファイルでは、URLの一部としてサブフォルダーを考慮して変更しようとしたデフォルトルートのみを使用しています。

routes.MapRoute("Default",
                "application/{controller}/{action}/{id}",
                new { controller = "dashboard", action = "index", id = UrlParameter.Optional });

ただし、ルート URL www.mydomain.com/applicationにアクセスしようとすると、ディレクトリ リストが表示されます。コントローラー、つまりwww.mydomain.com/application/dashboardに直接アクセスしようとすると 、404 が返されます。

MVCルーティングを介してこの状況に対処する方法を知っている人はいますか?

4

2 に答える 2

4
  1. ルーティングを変更する必要はありません。エントリ ポイントからアプリまで機能します。
  2. @Url.Content("~/content/images/myimage.png") を使用します。

これが役立つことを願っています。

于 2012-04-26T09:21:59.970 に答える
0

これを試してみてください...

routes.MapRoute("Application",
                "application/{controller}/{action}/{id}",
                new { controller = "dashboard", action = "index", id = UrlParameter.Optional });

routes.MapRoute("Default",
                "{controller}/{action}/{id}",
                new { controller = "dashboard", action = "index", id = UrlParameter.Optional });
于 2012-04-26T09:33:15.407 に答える