我使用IIS(版本10.0.19041.1),其中我配置了指向"D:\WWW\"
目录的网站"www.exampledomain.com"
。作为默认文档,我配置了"index.php"
,以便在调用"http://www.exampledomain.com/test"
时打开文件"D:\WWW\test\index.php"
。这工作完美。
但是如果我现在将目录"D:\WWW\test\"
设置为“Hidden”(只隐藏目录而不隐藏文件),当我调用"http://www.exampledomain.com/test"
时,我会得到错误消息“500 - Internal server error”。
但是当我调用"http://www.exampledomain.com/test/index.php"
时,它仍然工作。
为什么默认文档功能在目录隐藏时停止工作,如何解决此问题?
非常感谢和问候
塞基
1条答案
按热度按时间cbeh67ev1#
当IIS处理默认文档请求时,它首先检查目录是否存在。如果将目录设置为隐藏,IIS将无法找到该目录,并引发错误。
当您访问
"http://www.exampledomain.com/test/index.php"
时,IIS不需要检查目录是否存在,因为您提供了完整的文件路径,它可以直接定位文件"D:\www\test\index.php"
。因此,即使目录设置为隐藏,仍然可以找到和访问文件。