質問: Windows10のPCに、IIS(10)を有効化して、Razor構文(asp.net web pages)のページを追加しようとしています。 「*.vbhtml」のコンテンツページを1枚追加して、IIS内のサイトURLで表示しようとしていますが、下記のエラーが表示されてしまいます。 > > この種類のページは処理できません。 > > 説明: 要求されたページの種類は、明示的に禁止されるため処理されません。拡張子 '.vbhtml' が正しくない可能性があります。 下の URL が正しく入力されていることを確認してください。 > > > IISの設定で、ハンドラーマッピングを見ると、「*.vbhtml」の拡張子に「System.Web.HttpForbiddenHandler」というハンドラーが設定されていました。 どうやらこれが問題のようにも思うのですが、単純に削除したり、適当に設定してみても、「*.vbhtml」の中のコードが動作しないのは同じようです。 「*.vbhtml」ファイルを動作させるにはどのような設定が必要なのでしょうか? 【追加情報】 ありがとうございます。 問題のサイトのハンドラーマッピングの状態、及びWindows機能の有効化状況の画像を添付させて頂きます。 ※「vb」という標準外の名前になっているのはいったん設定を削除して、再度戻したためです ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/d1cd70b55d3631126b633da91b05d38b.png) ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/3550201f1c27037de0f9422f87128b82.png) ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/8b671370ef322285acaa7165feb174a7.png) ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/426770d900ce8ff443c6158252ac7057.png)
回答: あなたが一体どういうことをした/しているのか不明ですので想像をふくらませるしかないのですが、ASP.NET が有効になっていないというのが疑わしいです。 **【追加情報】** > > IISの設定で、ハンドラーマッピングを見ると、「*.vbhtml」の拡張子に「System.Web.HttpForbiddenHandler」というハンドラーが設定されていました。 > > > まずそこが問題で、以下のようになっていないとダメだと思います。 !イメージ説明 質問者さんの環境でそうなってないのは、上にも述べたように、ASP.NET が有効になっていないというのが疑わしいです。 「Windows の機能の有効化または無効化」での IIS の設定はどのようにしたのでしょう? そのあたりをチェックしてみてはいかがでしょう。 ご参考に、自分の環境(Windows 10 Pro 64-bit の IIS10)上の結果となった設定の画像をアップしておきます。 !イメージ説明 なお、IIS 側の設定だけではダメで、アプリ側での対応(ASP.NET Web アプリとして動くようにする)も必要です。.vbhtml はサーバー側で動的にコンパイルされますので。 そのあたりはどうなってますか? **【追記】** 下の 2019/06/14 16:49 の私のコメントで、「とりあえず結果を回答欄に追記しておきます」と書きましたが、それを以下に書いておきます。 環境は Windows 10 Pro 64-bit, IIS10, Visual Studio Community 2015, .NET 4.6.1, ASP.NET Web Forms, Web サイトプロジェクトです。(質問者さんは Web Pages アプリのようですが、今時 Web Pages アプリは作らないので自分の環境には無いのです) それに Visual Stidio から WebPage.vbhtml を追加し、 !イメージ説明 それに以下のように title と h1 タグを追加して、 !イメージ説明 実行してみましたが、やはり何の問題もなく期待通りにブラウザに結果が表示されました。 !イメージ説明 という訳で、問題が再現できず、心当たりもないのでお役に立てそうもありません。 Web Pages と Web Forms というところが違いますが、多分そこは問題とは関係なく、 > > 動作しないIISとVisualStudioの開発環境は、ClassicASPを動作させていた環境で、実はVisualStudioでプロジェクトを作成していません。単に以前からある「*.asp」ファイルをIISディレクトリに置いて稼働させていたような状況です。 > > > (動作しない「*.vbhtml」ファイルは、VisualStudioから追加→新しい項目の追加でRazorのコンテンツページを追加しています) > > > というところが怪しいと思います。