web-dev-qa-db-ja.com

ASP.NETへのIIS6ワイルドカードマッピング-ファイル拡張子がない場合、IIS 404

私は、比較的単純なタスクであると理解していることを実行しようとしています。ウェブサイトのURLから拡張子を削除したいのですが。 URLを処理および書き換えるために、アプリケーションに適切な設定があります。問題は、拡張子なしで実際にアプリケーションに到達するためにIISを通過できないことです。

詳細:

Windows Server 2003でIIS6を実行しています。アプリケーションのWebサイトにアクセスし、[ホームディレクトリ]タブに移動して、[構成]をクリックし、次のファイルにワイルドカードマップを追加しました。

c:\windows\Microsoft.net\framework\v2.0.50727\aspnet_isapi.dll

私が確認したのは、上記の.ascxなどによるアプリケーション拡張部分で使用されているものと同じです。

http://mywebsite.com/Blogs に移動すると、結果は次のようになります。

HTTP/1.1 404 Not Found
Content-Length: 1635
Content-Type: text/html
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Thu, 14 Jan 2010 15:04:49 GMT

これは標準のIIS 404メッセージです。 http://mywebsite.com/Blogs.aspx に移動するとASP.NETアプリが表示されます。 ..

これをトラブルシューティングするにはどうすればよいですか?私はすべてを十数回再確認したように感じますが、役に立たなかった。明らかな何かが欠けているに違いありません。

更新:これは私が使用しているasp.netURLリライターによって与えられた正確な指示です:

IIS 6.0-Windows 2003 Server

  • webサイト/仮想ディレクトリのプロパティページを開きます。
  • 「ホームディレクトリ」タブをクリックします
  • 「構成」ボタンをクリックし、「マッピング」タブを選択します
  • [ワイルドカードアプリケーションマップ]セクションの横にある[挿入]をクリックします
  • aspnet_isapi.dllを参照します(通常はc:\ windows\Microsoft.net\framework\v2.0.50727\aspnet_isapi.dllにあります)
  • 「ファイルが存在することを確認する」がオフになっていることを確認します
  • [OK]、[OK]、[OK]をクリックして、変更を閉じて適用します

アップデート2:

私はこれに対する解決策をまだ見つけていません。アプリケーションはIISからの要求を受信して​​いないようですが、それ以上のアイデアはありますか?

3
Ian Robinson

404は、ASP.NETが「ブログ」というファイルを見つけられないためです。すべてのファイルはaspnet_isapi.dllによって処理(解釈)されるべきだと言っているだけです

URLをファイルにマップするもの(カスタムルーティングエンジンまたはURLリライター)を配置する必要があります。 HeliconのISAPI Rewrite または IonicのIsapi Rewrite

2
squillman

IISを構成する場合、2つの「ファイルが存在することを確認する」があります。挿入しようとしたときに1つあり、チェックを外したままにする必要があります(上記の元の手順が示すように)。 2つ目は、すべてのタイプの拡張子がリストされているリストにあります。aspxを選択して[編集]をクリックし、チェックボックスをオンにします。これで動作します。ありがとう。

0
Atoosa