Win Server 2k8 および IIS7 での 404.17 エラーを修正するにはどうすればよいですか

StackOverflow https://stackoverflow.com/questions/87107

  •  01-07-2019
  •  | 
  •  

質問

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top