QA@IT
この質問・回答は、@ITの旧掲示板からインポートされたものです。

Webアプリケーションで「HTTP 404」

お世話になります。
現在 .NETでWebアプリケーションの開発を行っておりますが、
以下のような現象が発生しており、かなり困っている状況です。

vb.netで作成したWebページ(xxxx.aspx)をブラウザ(IE)で表示すると
「HTTP Error 404」が表示される。
「ないはずはない。どう見てもここにある!?」
と思い、ためしにアクセスするファイルの拡張子を
「xxxx.aspx」→「xxxx.html」に
ファイルリネーム後、「http://localhost/web/xxxx.html」
とブラウザからアクセスしてみると、
aspの実行はできませんが、
少なからずそのままのソースがhtmlとして表示はされます。
(ボタンコントロールなどはさすがに表示されず、
 ただのキャプション部分がテキスト文字列として表示されます)

ので、ファイルアクセス権やURLの間違いとは思いにくいですのですが。
もちろんIISマネージャの右側に表示される
対象のファイルを右クリック→「Browse」でも
「HTTP Error 404」が表示されます。
・・・なので404とは思いにくいです・・・。

MIMEの設定かとも思いましたが、
正常動作している端末(Win2003サーバー日本語)では
MIMEの設定に特にaspxの拡張子はないですし・・・。
設定しなくてはいけないとなったら
設定はどう入力したらいいのか・・・。

このような現象で思い当たることがあれば
どなたかご教授よろしくお願いいたします。

環境
・Windows2003サーバー(英語版)
・開発環境はインストールされておらず
 OS(英語版)をインストールした際に入っていた
 .NET Framework 1.1をそのまま使用。
・Windows UpdateでFrameworkのSP1があったので
 Framework SP1だけはアップデートしています。
・そのため、IISインストールは後からになりましたが、
 http://support.microsoft.com/default.aspx?scid=kb;ja;306005
 の記事のことは実行しているつもりです。
・本現象が解消すればFramework SDKもいれることになります。

(Webアプリケーションは日本語版の環境で開発し、
 今回英語版での検証となっているため、
 上記のようになっております)

質問者:G-YA

回答

おそらくマッピングがうまくいってないのではないでしょうか?
IISの[既定のWebサイト][プロパティ][ホームディレクトリ][構成][アプリケーションのマッピング]
にaspxのマッピング情報がありますか?
IIS6.0では、ここに登録されていない拡張子のファイルがリクエストされた場合
404を返します。

投稿者:burton999

編集 履歴 (0)

返信ありがとうございます。

burton999さんの内容を確認してみたのですが、
しっかりとaspnet_isapi.dllへマッピングされています。

ひょっとしたらもう一度
http://support.microsoft.com/default.aspx?scid=kb;ja;306005
の内容をやったら上手くいくのか?
と思い、試してみましたが、結果は同じでした。

なお、
[既定のWebサイト][プロパティ][ホームディレクトリ][構成][アプリケーションのマッピング]
だけでなく、
[既定のWebサイト][対象となるWebサイト][プロパティ][ディレクトリ][構成][アプリケーションのマッピング]
(↑これは英語になっていますが)
でも確認してみましたが、やはりaspxのマッピングは登録されておりました。

実はこの作業、少し変な環境なのですが、
英語版のWindows2003サーバーは日本語版のWindows2003サーバーの中に
「Microsoft Virtual PC」をいれてその中で動かしているものです。
この辺は全く関係ないだろうと思っておりますが。

申し訳ありませんがよろしくお願いいたします。

投稿者:G-YA

編集 履歴 (0)

1.IIS の Webサービス拡張 - ASP.NETは許可になっていますか?
2.Web.Configの httpHandlers セクションで変わった設定にはなっていないですか?
3.form認証の対象になって、ログインページとして指定されているページへリダイレクトが
かかっているけど、そのページがない。

  1. Web.Config の HttpModuleで何か特別なモジュールを使用していて、意図しないリダイレクトとかかかっていないか・・。

思いつきですが、怪しそうなことをピックアップしてみました。

投稿者:いのつち

編集 履歴 (0)

1.IIS の Webサービス拡張 - ASP.NETは許可になっていますか?
これが該当していました。

実はこの環境、お客さんがIISをインストールしたものなのです。
IISのインストール最中選択する画面でもあって、
チェックしなかったのかな?
どういったインストールなのかわからないのですが、
ぴったしビンゴで禁止項目でした。
「許可」にしたら正常動作しましたのでご連絡いたします。

ご返信いただいたburton999さん、いのつちさん
本当にありがとうございました。

IIS6ってきびしぃです。

投稿者:G-YA

編集 履歴 (0)

G-YAさんの書き込み (2004-12-23 10:09) より:

どういったインストールなのかわからないのですが、

ぴったしビンゴで禁止項目でした。

「許可」にしたら正常動作しましたのでご連絡いたします。

デフォルトです、確か。
なのでお客さんでなくてもごにょごにょごにょ…

投稿者:なちゃ

編集 履歴 (0)

デフォルトです、確か。

Windos Server 2003 の IIS6 ではデフォルトで様々な機能が抑制されています。

今後、少なくともサーバ OS では同様の措置がとられることが予想されるので、「そうである」ことを知っておくことも必要ですね。

_________________// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/

投稿者:渋木宏明(ひどり)

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。