1

私はMVC4 Webサイトをdevで正常に実行しています。運用ルーティングに公開しようとすると機能しません。私が持っている唯一のルールはデフォルトです:

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "General", action = "Index", id = UrlParameter.Optional }
        );

ただし、運用サーバー (IIS7.5 - dev と同様) では、次のいずれかが 404 で失敗します。

<domain>/Home
<domain>/Home/Index

プレーン<domain>/は 403 で失敗します。

注: このすべては、ルート デバッガーの使用中に行われます

遊んでいると、次の好奇心に出くわしました。

<domain>/Home/Index.cshtml/3

実際にルートのデバッグページに移動し、一致すると主張しました

controller  Home
action      Index.cshtml 
id          61 

さらに遊んでみると、「.cshtml」がどこにあるかは問題ではなく、そこにある限り機能することがわかりました。例:<domain>/.cshtml/Index/4一致

controller  .cshtml 
action      Index 
id          4

なぜ「.cshtml」文字列が必要なのですか?どうすればよいですか?

4

0 に答える 0