0

私の同僚が、バックアップにない web.config ファイルを誤って置き換えてしまい、IIS6 で実行している古い MVC 1.0 サイトに、ページではなく 404 エラーが表示されるようになりました。

現在の web.config は次のようになります。

<?xml version="1.0"?>
<configuration>
  <system.web>
    <httpHandlers>
      <add path="*" verb="*"
          type="System.Web.HttpNotFoundHandler"/>
    </httpHandlers>
    <!--
        Enabling request validation in view pages would cause validation to occur
        after the input has already been processed by the controller. By default
        MVC performs request validation before a controller processes the input.
        To change this behavior apply the ValidateInputAttribute to a
        controller or action.
    -->
    <pages
        validateRequest="false"
        pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
        pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
        userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <controls>
        <add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
      </controls>
    </pages>
  </system.web>

  <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <handlers>
      <remove name="BlockViewHandler"/>
      <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler"/>
    </handlers>
  </system.webServer>
</configuration>

また、ルートを適切な .aspx ページにマッピングするのに役立つ global.asax ファイルがあります (これは変更されておらず、1 時間前までは完全に機能していました)。

これを修正する方法について何か考えはありますか?

編集: /Views の下の web.config も、ルートにあるものと同じ web.config に置き換えられたことを指定する必要があります。最後に、サイトが共有ホスティングであることを付け加えておきます。

4

1 に答える 1

1

最善の策は、VS で新しい空の MVC 1.0 サイトを作成し、appSettings と connectionStrings をコピーしてから、比較を行って残りの違いを確認することだと思います。MVC 1を見てからしばらく経ちましたが、あなたがリストした構成は私には問題ないようです。また、Views フォルダー内の web.config がどのように見えるかを確認することもできます。これを変更した可能性は低いためです。

また、404 が発生する場合は、IIS6 でのワイルドカード マッピングがまだ設定されていることを確認する必要があります。

于 2012-07-31T12:37:16.130 に答える