web-dev-qa-db-ja.com

IIS仮想ディレクトリがフォルダーではなくファイルを提供するのはなぜですか?

ネットワーク共有(たとえば、\\mysite\myshare)が、(たとえば) http://www.example.com/myshare のIIS 7.5仮想ディレクトリによって提供されています。 。 Webブラウザーから、すべてのフォルダーとサブフォルダーをクリックしてナビゲートできますが、任意のファイルをクリックすると、404エラー(404.0)が表示されます。

2015-04-10 14:27:36 GET /myshare/folder1/42-19740409.jpg - - 11.22.33.44 HTTP/1.1
Mozilla/5.0+(Windows+NT+6.1;+WOW64;+rv:37.0)+Gecko/20100101+Firefox/37.0
http://www.example.com/myshare/folder1/ 404 1437

フォルダーを参照するための対応するログエントリは次のとおりです。成功します。

2015-04-10 14:27:34 GET /myshare/folder1/ - - 11.22.33.44 HTTP/1.1
Mozilla/5.0+(Windows+NT+6.1;+WOW64;+rv:37.0)+Gecko/20100101+Firefox/37.0
http://www.example.com/myshare/ 200 1225

ネットワーク共有のアクセス許可は問題ないようです。 IISはユーザー「mynetwork\shareguy」として共有をマウントしています。これらの資格情報を使用して共有を手動でマウントし、すべてのファイルとフォルダーにアクセスできます。 mynetwork\shareguyのアプリケーションプールもあります。

私のMIMEタイプのセットアップもOKのようです。 .jpgファイル(上記の私の例)を含む、MIMEタイプが多数設定されています。

また、IISの仮想ディレクトリを右クリックして、「仮想ディレクトリの管理」と「参照」を選択してみました。この方法でlocalhost経由ですべてのフォルダーを参照できますが、すべてのファイルが404を生成します。しかし、奇妙なことに、エラーメッセージにLogon Methodおよび「匿名」としてログオンユーザー 「shareguy」と言うべきだと思います。

Module: IIS Web Core 
Notification: MapRequestHandler 
Handler: StaticFile 
Error Code: 0x80070002 
Requested URL: http://localhost:80/... 
Physical Path \\myshare\myfolder\...
Logon Method: Anonymous 
Logon User: Anonymous

すべてのフォルダーにアクセスできるのに、ファイルにアクセスできないのはなぜですか?洞察力をありがとう!

1
DanB

可能であれば、IISログにsc-substatusフィールドを追加することを強くお勧めします。 IISは、サブステータスフィールドで識別される約20種類の404バリエーションを認識します。完全なリストはこちらをご覧ください。

https://support.Microsoft.com/en-us/kb/943891

1
DaClyde