Windows 7でIIS 7.5を実行していますが、既に「インターネットインフォメーションサービス/ World Wide Webサービス/アプリケーション開発機能」でASPを有効にして「Windows機能の有効化または無効化」を行っています。 「。一度やると、次のようなHTTP 404エラーが表示され始めました。
拡張機能のため、リクエストしているページは配信できません
設定。ページがスクリプトの場合、ハンドラーを追加します。ファイルが
ダウンロード、MIMEマップを追加します。
したがって、これは、ハンドラーマッピングで* .aspにマッピングを追加する必要があり、ハンドラーはC:\ Windows\System32\inetsrv\asp.dllにマッピングされることを意味します。しかし、ページをロードしようとすると、次のようなサーバーエラーが表示されます。
タイプ 'C:\ Windows\system32\inetsrv\asp.dll'をロードできませんでした。
誰がここで何が起こっているのか、これをどのように処理するのか知っていますか?
もう1つ言及しなければならないのは、アプリケーションプールで32ビットアプリケーションを既に有効にし、ブラウザーにエラーを送信するようにASPを設定していますが、どちらも問題を解決したり、詳細情報を提供したりしないことです。
これは、ASP.NETではなくASP Classicであることに注意してください。ASP.NETは正常に機能しています。
[OK]をクリックすると、Webサイトが正しく読み込まれます。
Windows Server 2012でIIS 8を実行している場合、以下を実行する必要があります。
それから、アプリケーションで実行を開始する必要があります
したがって、Webサイトおよびアプリケーションレベルでハンドラマッピングを追加すると、すべてがうまく機能することがわかります。サーバーレベルでのみ追加していたため、IISはASPページをIsapiModuleにマップすることを知りませんでした。
したがって、この問題を解決するには、アプリケーションを追加するWebサイトに移動し、[ハンドラーマッピング]をダブルクリックします。 [スクリプトマップの追加]をクリックして、次の情報を入力します。
RequestPath:* .asp
実行可能ファイル:C:\ Windows\System32\inetsrv\asp.dll
名前:クラシックASP(これはあなたが望むものなら何でも構いません
ここにいくつかの詳細な手順が見つかりました: http://digitallibraryworld.com/?p=6
重要なアドバイスは、32ビットアプリケーションを実行するようにアプリプールを構成している場合(代わりに32ビットASP.DLLを使用する場合)、64ビットASP.DLL(system32にある)を使用しないことです。 )。
次の設定を使用して、スクリプトマップを追加します。
リクエストパス:* .asp
実行可能:C:\ Windows\system32\inetsrv\asp.dll
名前:好きなもの。クラシックASPに名前を付けました上記の実行可能ファイルは、64 BITASP aspスクリプトのハンドラです。ASPスクリプトを32ビット環境で処理するには、次の場所から実行可能ファイルを使用する必要があります:
C:\Windows\SysWOW64\inetsrv\asp.dll
。
もちろん、32ビットライブラリ(またはデータプロバイダーなど)をロードする必要がない場合は、64ビットASP.DLLを実行することで作業が楽になります。
Windows Server 2008で上記の問題が発生した場合は、ASPを有効にする必要があります。これを行うには、次の手順を実行します。
「アプリケーションサーバー」ロールを追加します:
次に、「Webサーバー」ロールを追加します: