2016年9月1日木曜日

HTTPエラー 500.21の対処方法

WebアプリをIIS 7 on Windows7に配置したときに、こんなエラーが発生しました。

HTTP エラー 500.21 - Internal Server Error
ハンドラー "ExtensionlessUrlHandler-Integrated-4.0" のモジュール リストにあるモジュール "ManagedPipelineHandler" が正しくありません

ASP.NETがインストールされていないのが原因で、検索するとコマンドラインから

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis –i

と入力して実行すればよいことが分かりました。
同じWebアプリをIIS 8.5 on Windows Server 2012に配置しようとしたときにも同じエラーが発生したので、
「はいはい。ASP.NETのインストールね。コマンドラインからおまじないを実行して・・・あれ?エラーがなくならない!」

そうなんです。この環境では別の方法でインストールしてやらないといけないのです。
具体的にはサーバーマネージャーで「役割と機能の追加」を選択して、IISにASP.NETをインストールします。

「ASP.NET 4.5」を選択すると、


「ASP.NET 4.5」と「.NET 拡張機能 4.5」にチェックが入ります。


これでインストールすればOKです。

またいつか、どこかで。

1 件のコメント: