web-dev-qa-db-ja.com

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

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

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

サブフォルダーc:\inetpub\wwwroot\com.ianquigleyを作成し、コンテンツ「index.html」を含むHTMLファイル<html>cake</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のリクエストが含まれています。

update(以下のコメントから)
「Everyone」「フルコントロール」権限でc:\cakeを作成しました。そこに私のindex.htmlファイルを移動し、IISのマッピングを変更しました。サーバーのブラウザでページをもう一度確認すると、物理パスがc:\cake\index.htmlである以外は上記と同じです。

update 2デフォルトのWebサイト(正常に動作するか、ディスクから読み取ることができます)は、 "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フォルダーから正常に読み取ることができるが、権限のあるサブフォルダーは読み取れないのはなぜですか。

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

15
Ian Quigley

Facepalm

新しいVPSボックスは、デフォルトの動作を意味します。つまり、「既知のタイプのファイルタイプ拡張子を非表示にする」です。オフにすると、ファイル名が実際にはindex.html.txtであることがわかりました。名前をindex.htmlに変更して問題を解決しました。

27
Ian Quigley

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

1
Ryan