I have been fighting this problem for hours, and I can't make IIS (7.5 on 2008r2) do the right thing. Every time I try to go to the photos
virtual directory, I get a 404.0 and the physical path listed is wrong and different from the physical path I setup on the virtual directory. Here is the setup:
I have a virtual directory photos
setup under the Default Web Site.
The Default Web Site's physical path is G:\inetpub\wwwroot
and it's only binding is *:80. The application pool for the website is setup to run as a domain user created for this purpose. That user has permissions to the mentioned G path, and the F path below.
The virtual directory has alias photos
, physical path F:\photos
. When I click Test Settings, it comes back successful. (The application pool user can access the path.)
When I click Browse on the photos virtual directory, I get a 404.0 - Not Found. Plus the following information.
Requested Url: http://localhost:80/photos
Physical Path: G:\inetpub\wwwroot\photos
The physical path is clearly wrong and not what I configured. What am I doing wrong?
Log Entry
#Software: Microsoft Internet Information Services 7.5
#Version: 1.0
#Date: 2015-01-29 01:44:48
#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
2015-01-29 01:44:48 ::1 GET /photos - 80 - ::1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko 404 0 2 1403
Page Error message
Module IIS Web Core
Notification MapRequestHandler
Handler StaticFile
Error Code 0x80070002
Requested URL http://localhost:80/photos
Physical Path G:\inetpub\wwwroot\photos
Logon Method Anonymous
Logon User Anonymous
Missing piece of this puzzle: IIS is setup as a failover service with a shared configuration in a 2008 R2 failover cluster.
So the apparent reason this was happening was the shared configuration and / or failover cluster. Even after changing the virtual directory configuration, the old configuration was cached and even restarting IIS would not cause it to be refreshed.
I was only able to get the configuration to reload by migrating the service to another node. Then the virtual directory was working properly.
"Remove" the problem website and then add it again along with the virtual directories from IIS Manager may help. It works in my case.
User contributions licensed under CC BY-SA 3.0