Win Server 2k8 および IIS7 での 404.17 エラーを修正するにはどうすればよいですか
質問
Win Server 2k8 上の IIS 7 上に新しい .net 2.0 Web サイトをセットアップしましたが、ページを参照すると 404.17 エラーが表示され、ファイル (この場合はdefault.aspx) はスクリプトであるように見えますが、スクリプトであると主張されます。静的ファイル ハンドラーによって処理されます。ASP.Net のモジュール マッピングが混乱しているように聞こえますが、構成では問題ないようです。このエラーを修正するための提案がある人はいますか?
解決
IIS6 で一度、何らかの理由で ASP.NET ISAPI が壊れたときにこの問題が発生しました。
ランニング
%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
設定を再作成することで解決しました。
他のヒント
この解決策は私にとってはうまくいきました...(私はaspnet_regiis.exeを持っていました - 私はいくつかのダメージを与えました)
http://forums.iis.net/t/1157725.aspx
1. Locate your App Pool and Right Click 2. Select Basic Settings 3. Select your current .Net Framework Version 4.Restart the App Pool
私にとっては、次のようにすることでうまくいきました
ASP.NETをインストールする
cd %windir%\Microsoft.NET\Framework64/v4.0.30319
aspnet_regiis.exe -i
- 次に、IIS マネージャーに移動し、サーバー (ルート) ノードをクリックします。
- 機能ビューの IIS セクションで、「ISAPI と CGI の制限」を開きます
- ASP.NET 4制限列を右クリックし、右クリックして許可します。
うまくいくことを願っています..
私の場合、問題はプロジェクトの web.config ファイルの設定が原因で発生しました (問題を理解すれば解決策も見つかりました)。
私の web.config ファイルには、次の 2 行がありました。 system.webServer > ハンドラー エリア:
<remove name="WebServiceHandlerFactory-ISAPI-2.0" />
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
代替ハンドラーには属性「preCondition="integratedMode"」があることに注意してください。そのため、使用するようにAppPoolを変更する必要がありました 統合された の代わりに クラシック 私のために パイプラインモード 設定(上記の解決策が私に指示したことの逆です)。
常に最初にハンドラー マッピングで「親に戻す」を試してください。
IIS 7.5 で ASP.NET 4.0 を実行しようとすると、404.17 が発生しました。上記をすべて試したところ、最終的に正しいハンドラー マッピングが手動で設定され、エラーは解消されました。
次に、同じエラーが発生したさらに別の Web サイトで、ハンドラー マッピングで「親に戻す」を試したところ、6 つの *.aspx マッピングが追加され、すべてが完璧に機能しました。
もちろん、親を (インストールまたはその他から) 適切に設定する必要がありますが、これは非常に簡単なので、間違いなく誰もが実行すべき最初のステップです。
私にとっての解決策は、仮想アプリケーションの下のハンドラーマッピングセクションから「継承から戻す」をクリックすることでした。
これまでのところ、これらの解決策はどれも私にとっては役に立ちませんでした。
他に考えられる解決策をいくつか見つけました(私にはうまくいきませんでした)。
この問題を解決する唯一の方法...
最初にインストールされたWindows7をインストールし、すべての機能を備えたIIS 7をインストールします
そして、Visual Studio 2008 / 2010をインストールしました
私は Visual Studio 2008 と 2010 を使用していますが、これまでこのエラーを見たことがありませんでした。
友人のPCでも試してみます。そして、このエラーも解決します。
私の場合、これは32ビットアプリケーションをtrueに設定することで解決しました。
上記のどれも私にとってはうまくいきませんでした。私たちのサーバーは 64 ビットなので、32 ビット アプリケーションを許可するようにアプリケーションを設定するとうまくいきました。
- 「Web サーバー\アプリケーション プール」に移動します。
- Web サイトで使用されているアプリケーション プールを右クリックします。
- [詳細設定...] をクリックします。
- 「32 ビット アプリケーションを有効にする」を True に設定します。
これは、Web アプリケーションが 32 ビット専用にコンパイルされていたためだと思います。
%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i
32のフレームワークで「誤った形式でプログラムをロードする試みがなされた」を取得した後、私のために働きました
たぶん、グーグルでもう一秒節約できます
私にとって、 これ 働きました。マシン構成セクション、ハンドラー、アセンブリ、モジュール、プロトコル、その他のものを適切に動作させるためにインストールします。
私の場合、サーバー機能でHTTPアクティベーションがチェックされていませんでした。
[Windows の機能] メニューの [IIS 開発機能] に、ASP.NET 3.5 および 4.5、ISAPI 拡張機能、ISAPI フィルタ、およびサーバー サイド インクルードをインストールする必要がありました。
あるいは、コマンドライン DISM を使用して次のように実行します。
Dism /online /enable-feature /featurename:NetFx3 /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:NetFx4 /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:IIS-ISAPIExtensions /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:IIS-ISAPIFilter /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:IIS-ServerSideIncludes /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Windows 機能のオン/オフを切り替える WCF サービスでの http アクティブ化により、問題が解決されました。
私の場合、上記の回答のどれも問題を解決できませんでした。その理由は次のとおりです。 CGI モジュールがインストールされていませんでした.
これを解決するために、次の手順に従いました。
https://docs.microsoft.com/en-us/iis/configuration/system.webserver/cgi