ファイルが存在するIIS 404エラー


15

プロバイダー(Windows 2008 R2、IIS 7.5)から新しいVPSをインストールしています。

デフォルトのWebサイトは正常に機能します。http://5.9.251.167/
新しいWebサイトを作成し、http://new.ianquigley.comのバインディングを
そのサーバーとそのドメインがIPアドレスにマップする他のすべての場所にバインドしました。(たとえば、new.ianquigley.comにpingします)。

サブフォルダーc:\inetpub\wwwroot\com.ianquigleyを作成index.htmlし、コンテンツ「<html>cake</html>」を含むHTMLファイルを作成しました

Webサイトのデフォルトのドキュメントは index.html

サーバーで、Chromeでhttp://new.ianquigley.com/index.htmlを参照し、404エラーを取得します。

ページには次のように書かれています。

HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had it's name changed, 
or is temporarily unavailable.

Detail:
Module: IIS Web Core
Notification: HttpRequestHandler
Handler: StaticFile
Error Code: 0x80007002
Request URL: http://new.ianquigley.com/index.html
Physical path: c:\inetpub\wwwroot\com.ianquigley\index.html
Logon Method: Anonymous
Logon User: Anonymous
Failed Request Log: c:\inetpub\logs\FailedRequestLog

物理パスは存在します。フォルダーwwwrootcom.ianquigleyその両方には、「全員」および「読み取り」権限があります。

c:\inetpub\wwwroot\logfiles\w3svc2\u_ex130201ファイルには、404エラーコードを使用してindex.htmlを要求が含まれています。

更新(下のコメントから)「全員」「フルコントロール」権限で
作成c:\cakeしました。index.htmlファイルをそこに移動し、IISのマッピングを変更しました。サーバー上のブラウザでページを再度チェックすると、物理パスがc:\cake\index.html

更新2 デフォルトのWebサイト(正常に動作する/ディスクから読み取ることができる)は、アカウント "ApplicationPoolIdentity"を最初に使用した "DefaultAppPool"で実行されます。新しいWebサイトでもこの同じアプリプールが使用されます。アカウントを次のように変更しようとしました。NetworkService、LocalService、およびLocalSytem(毎回アプリプールを更新)..まだ喜びはありません!

W3SVC2ログ

#Software: Microsoft Internet Information Services 7.5
#Version: 1.0
#Date: 2013-02-02 20:00:02
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken
2013-02-02 20:00:02 5.9.251.167 GET /index.html - 80 - 5.9.251.167 Mozilla/5.0+(Windows+NT+6.1;+WOW64)+AppleWebKit/537.17+(KHTML,+like+Gecko)+Chrome/24.0.1312.57+Safari/537.17 404 0 2 1151

sc-win32-status: 2は、「ファイルが見つかりません」という意味です。したがって、これはおそらく単なるファイルアクセス許可の問題です。もしそうなら、デフォルトのWebサイトがc:\inetpub\wwwrootフォルダから正常に読み取れるのに、許可があるサブフォルダから読み取れないのはなぜですか。

今私は完全に困惑しています。


index.htmlファイルをURLから削除すると、403エラーが発生します。これは、IISのサイトのルートディレクトリがマップされていないことが原因である可能性がありますc:\inetpub\wwwroot\com.ianquigley。サイトをinetpubの外部の物理フォルダーに移動し、代わりにIIS Webサイトをそのフォルダーにマッピングしようとしましたか?
levelnis

提案をありがとう。それを試して、質問を更新しました。まだ喜びはありません:(
イアン・クイグリー

アプリプールはどのIDで実行するように構成されていますか?の場合は、次のようAppPoolIdentityに変更してくださいNetworkService
levelnis

私はそれをネットワークサービスに変更しようとしました-それでも同じ問題
イアン・クイグリー

IISで静的コンテンツのサブ機能を有効にしていますか?
クリスマッキーン

回答:


27

フェイスパーム

新しいVPSボックスは、デフォルトの動作を意味します。すなわち、「既知のタイプのファイルタイプ拡張子を隠す」。それをオフにしたとき、私は私のファイルが実際に命名されていることを発見しましたindex.html.txt。名前を変更しindex.html、問題を解決しました。


24
本当の聴衆がサーバー管理者だけであるサーバーOSが、コンピューターの文盲のようにファイル拡張子表示を無効にしているのはなぜですか?ああマイクロソフト
...-カスライ

1
@Aslai:+1。Ian:これに対する+1は、最終的に把握するための絶対的な痛みだったに違いありません。
いいえ、

ああ、神様。私のものはindex.htm.htmlでした。愚かな
ピョートルクラ

1
聖なる***。4年後、新しいサーバーのインストールで404の悩みを抱えて頭を悩ませている間に、私はこれに出くわしました。index.htm.txt近くにいれば、一日中ビールを買います。
スティーブ

1

Webサーバーの下に「共通HTTP機能」がインストールされていることを確認してください。サーバーマネージャー->役割-> Webサーバー->役割サービスを使用して確認し、インストールされていない場合はインストールできます。

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