「拡張機能の設定が原因で、リクエストしているページを提供できません。」エラーメッセージ


272

アプリケーションを実行しようとすると、このエラーメッセージが表示されます。私はそれを修正する方法がわかりません:

HTTPエラー404.3-見つかりません拡張機能の設定が原因で、リクエストしているページを提供できません。ページがスクリプトの場合は、ハンドラーを追加します。ファイルをダウンロードする必要がある場合は、MIMEマップを追加します。

エラーページのスクリーンショットは次のとおりです。 代替テキスト

このエラーを修正するにはどうすればよいですか?


1
エラーページよりもソースコードの方が役立つでしょう
gsharp

1
ソースコードのどの部分を見る必要がありますか?

1
上記の手順を実行した後、同じエラーが発生した場合は、以下のリンクにアクセスして、手順をクリックしてください
Raj

回答:


170

aspnet_regiis.exeを使用して、使用ている.NETフレームワークのバージョンを登録します。

これは一般的な問題であり、VSまたは.NETフレームワークの後にIISをインストールすると発生します。

注-Windows 8/10ユーザーの場合は、以下のJohnOpincarによる他の回答を参照してください。また、Kevin Brydonからのコメント/ヒント。


11
実際には、まずVisual Studioをインストールしてから、IISをインストールしました。現在「aspnet_regiis.exe -i」コマンドを実行しています。うまくいけば、これでエラーが修正されます。

5
.svc WCFサービスにアクセスしようとしたときにこのエラーが発生したときも私のために働いた。
atconway 2012

注-Windows 8ユーザーの場合、JohnOpincarによる他の回答をご覧ください
KyleK

+1検索でこれを見つけた他の人にとっては、最小抵抗のパスとしてaspnet_regiis.exeを実行して問題を解決するよりも、.NETインストールで修復を実行する方が簡単な場合があります。IISロールをインストールする前に(Windows Updateを介して).NET 4.5.2をインストールしたボックスでは、これがよく見られます。これらのボックスは.NET 4をアプリプールのオプションとして表示するため、少しイライラしますが、アプリケーションが.NET 4.5を必要とする場合、上記のメッセージで失敗します。
aolszowka

246

Windows 8/10では、使用する必要があります

  • コントロールパネルを開く→
  • プログラムと機能→
  • Windowsの機能をオンまたはオフにする→
  • インターネットインフォメーションサービス(IIS)→
  • ワールドワイドウェブサービス→
  • アプリケーション開発機能→
  • ASP.NETを有効にするなど、適切な項目を確認します。(つまり、ウェブサイトを構成する適切なバージョンをインストールします)

参照:参照のためにこの質問の解決策を確認してください


217
私がチェックしなければならなかった.NET Framework 4.5 Advanced Services> WCF Services>HTTP Activation
ケビン・ブライドン

13
管理者コマンドプロンプトから次のコマンドを実行します: "dism / Online / Enable-Feature / FeatureName:WCF-HTTP-Activation / all"、または "dism / Online / Enable-Feature / FeatureName:WCF-HTTP-Activation45 / all"
ポール・スアート2013年

私がregiisを実行することに慣れたちょうどその時、マイクロソフトは行って、それを再び変えます。まあ、少なくともこれはずっと簡単です-WIFのインストールと同様の変更。これで、SQLを追加してWindows機能をオン/オフにする必要があります。
nocarrier 2014

@KevinBrydon-どうもありがとうございました!あなたのヒントは、Windows 2012 R2での問題の解決に非常に役立ちました。
Amil Waduwawara

Windows Server 2012 R2では、 "Http Activation"を有効にするとうまくいきました。
Dhanuka777

117

私は自分のWindows 10でそれを修正しました:

  1. コントロールパネル-プログラムと機能-Windowsの機能をオンまたはオフにします。

  2. .NET Framework 4.6 Advanced Services-WCF Servicesを選択します。

  3. HTTPアクティベーションを確認します。

  4. 了解しました。


5
Windows 10で動作します!ありがとうございました!
Sergey Malyutin

1
勝利8.1でも私のために
働く

Win10 IIS7に従事
noCodeMonkeys

これは、Windows 1709にアップグレードし、IISを再インストールする必要がある場合に機能します
garrettendi

「このエラーは、要求されたURLのファイル拡張子がサーバーで構成されていないMIMEタイプのものである場合に発生します」
eranda.del

84

私の場合、Web構成に提供したいファイル拡張子ごとにMIMEタイプを追加する必要がありました。

<system.webServer>
    <staticContent>
      <mimeMap fileExtension=".shp" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".dbf" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".kml" mimeType="text/xml" />
    </staticContent>
    ...
</system.webServer>

2
1+それは私の問題を修正しました...を読み込もうとし.jsonていたのですが、OPエラーが発生し続け、最終的にmimeMapweb.configにを追加して問題を解決しました
Nick Kahn

asmxファイルにもMIMEタイプを追加する必要がありますか?
Shilpa Soni

@ShilpaSoni asmxファイルはasp.netサーバーファイルです(静的コンテンツではありません)。そうすることはできませんし、クライアントからダウンロードする必要もありません。
Mahmoodvcs 2015

1
そして、ここにあるから見つけ、その適切なMIMEタイプにファイル拡張子のマップ、この SOの質問
赤エンドウ豆の

21

これが誰かを助ける場合、aspnet_regiis.exeを実行しようとしたときにこのエラーが発生しました:

操作は0x8007000Bで失敗しました

不正な形式のプログラムを読み込もうとしました

結局のところ、サーバーは2008 64ビットを実行しており、32ビットバージョンのユーティリティを実行しようとしました。\ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727にあるバージョンを実行すると、問題が修正されました。

c:\Windows\Microsoft.NET\Framework64\v2.0.50727>aspnet_regiis.exe -i

7

お客様と同じ状況になりました。ウェブサイトをインストールする独自の製品があります。インストーラーはすべてを構成します:IISプール、サイト、web.configなど。

インストーラーを使用して別のWebサイトをインストールしました。同じパラメーターを入力したため、両方のサイトでweb.configsが偶然同じでした。

ただし、新しくインストールしたサイトは問題なく動作しましたが、古いサイトは動作しませんでした。次に、2つのIISマネージャーウィンドウを開き、Webサイト設定の違いを比較し始めました。そして、私は問題を発見しました。

誰かが古いサイトのすべてのハンドラーマッピングを削除しました。「ハンドラーマッピング」に移動すると、aspx、asmx、その他の拡張機能とハンドラーの名前が表示されます。したがって、古いサイトでは、これらのすべてのレコードが欠落していました。

そのため、最初に「ハンドラーマッピング」を確認することをお勧めします-そこには多くのレコードがあるはずです。新しいWebサイトを作成して比較し、いくつあるべきかを知ってください。

誰が削除したのか、人や別のプログラムなのか、私にはわかりません。誰かが、ユーザーdomain \ johnが日付 "07.03.2012 12:34"にWebサイトを変更していたことを知らせる追跡アプリケーションが存在するかどうかを知ることができる場合、それは便利でしょう。



6

すべてのWCF機能をインストールして、Windows 2012サーバーで問題を修正しました。

A)サーバーマネージャー>管理[左上のリンク]>役割と機能の追加

B)機能> .Net Framework 4.5の機能> WCFサービス

C)機能を確認(有効化)します。すべてチェックしました。

D)インストール


2
HTTPアクティベーションとTCPアクティベーションのみをチェックしたところ、うまくいきました。とにかくありがとうございました!
Aleksei Mialkin

6

Windows Server 2008 R2 64ビットおよび.netフレームワーク4.5を実行し、この場所からこのコマンドを実行し、成功しました:

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

出力:

Microsoft (R) ASP.NET RegIIS version 4.0.30319.0
Administration utility to install and uninstall ASP.NET on the local machine.
Copyright (C) Microsoft Corporation.  All rights reserved.
Start installing ASP.NET (4.0.30319.0).
.....
Finished installing ASP.NET (4.0.30319.0).

3

@Mahmoodvcsが言及したように、直接ホスト/ダウンロードする必要があるファイル拡張子にMIMEタイプを設定/追加する必要がありました。この場合は、Herokuのダンプファイル(postgresのデータベースバックアップ)なので、パブリックIISサーバーを設定するにはAWS S3バケットやDropboxのようなHTTP共有を必要とせずにこのファイルをダウンロードできます。これは素晴らしいオプションです!

<staticContent>
  <mimeMap fileExtension=".dump" mimeType="application/octet-stream" />
</staticContent>



2

私にもこのエラーがありました。WindowsServer 2008 IIS 7にはビジュアルスタジオがインストールされていなかったため、.NET 4.0の再インストール/修復でうまくいきました。


1

IISで機能する拡張機能を追加するには、次の手順に従います-

  1. IISマネージャーを開き、管理するレベルに移動します。
  2. [機能ビュー]で、[MIMEタイプ]をダブルクリックします。
  3. [操作]ウィンドウで、[追加]をクリックします。
  4. [MIMEタイプの追加]ダイアログボックスで、[ファイル名拡張子]テキストボックスにファイル名拡張子を入力します。... MIMEタイプを入力します
  5. [MIMEタイプ]テキストボックス。
  6. OKをクリックします。

1
.ts(タイプスクリプトファイル)の場合にこのソリューションをテストしました。MIMEタイプTypescriptフィールド(.ts)で宣言する必要があります。MIMEタイプとしてtext / x.typescriptを使用します
freedeveloper


0

IISのアプリケーションプール(IIS7以上の場合)が統合として選択されていることを確認します。この場合、おそらくClassicに変更することでこの問題を解決できます。


0

Server 2016に関連して、追加する必要があります。

  1. このコマンドを実行します:aspnet_regiis -lvこのディレクトリから: C:\Windows\Microsoft.NET\Framework\v2.0.50727\ これにより、何が起こっているのかが最もよくわかります

  2. Server 2016では、.netとiisを順番どおりにインストールしても問題ないようです。

  3. Server 2016で問題になる可能性が高いのは、単にasp.netがマシンにインストールされていないことです。


0

ために Windows Server 2016

  1. Server Managerフォームを開く
  2. Manage -> Add Roles and Features
  3. 次のFeaturesページまで
  4. WCF Servicesすべてのサブ機能で機能を確認する
  5. Next そして Install

0

Windows Server 2012 R2上のPHP 7.3アプリケーションIIS

これは私にとって2つのステップのプロセスでした。

1)WCFサービスを有効にする-サーバーを再起動する

2)FASTCGIモジュールマッピングを追加する

1)

サーバーマネージャーに移動>役割と機能を追加サーバープールからサーバーを選択機能に移動> WCFサービスすべてのカテゴリを選択してインストール

2)

IISに移動し、サイトを選択します。中央のペインで[ハンドラーマッピング]を選択します。右側のペインで[モジュールマッピングの追加]を選択します。

編集ウィンドウ内:

リクエストパス:* .php

モジュール:FastCgimodule

実行可能ファイル:PHPフォルダー内のphp-cgi.exeを参照しました

名前:PHP7.3

今、私はそれについて考えています。このハンドラーマッピングをweb-config内に追加する方法がある場合があるため、サイトを別のサーバーに移行する場合、このマッピングを何度も追加する必要はありません。

編集:ここにあります。これをweb-configのセクションに追加します。

<add name="PHP-FastCGI" verb="*" 
  path="*.php" 
  modules="FastCgiModule"
  scriptProcessor="c:\php\php-cgi.exe" 
  resourceType="Either" />


0

拡張子のないファイルを表示しようとしている場合、私に有効だったのはMIME Typeファイル名拡張子. MIMEタイプtext/plain

これは、あなたの場合は特に、いくつかのMVCの意味を持つ可能性があるStatic File Handler上にあるExtensionless...(下ハンドラIIS/ Handler Mappings)しかし、あなたが唯一のSSLサートを活性化のように、一時的にこれを必要とするときの周りの仕事かもしれません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.