IIS 10.0文件存在却返回Error 404.0错误求助
解决IIS 10.0中特定PHP文件返回404.0(0x80070002)的问题
检查路径大小写一致性
Windows文件系统不区分大小写,但IIS的URL解析可能受配置或CGI处理逻辑影响。确认请求URL中的/task/php/sql_task_success.php路径,和服务器上的实际物理文件路径(包括文件名)大小写完全匹配,避免因大小写差异导致路径解析失败。验证PHP处理程序映射的继承与权限
- 打开IIS管理器,进入目标站点的处理程序映射,找到
*.php的映射条目,确认其请求路径为*.php(而非仅根目录生效的范围),确保子目录/task/php/能继承该映射。 - 右键该映射条目选择编辑功能权限,确保勾选了读取和脚本权限。
- 修正PHP的MIME类型
当前*.php的MIME类型application/octet-stream不符合规范,正确设置应为application/x-httpd-php:
- 在IIS管理器的站点或服务器级别打开MIME类型
- 找到
*.php条目修改MIME类型;若不存在则添加,扩展名填.php,MIME类型填application/x-httpd-php - 执行命令行
iisreset重启IIS服务生效
- 调整CGI与PHP配置
- 打开IIS的CGI功能设置,确认允许的请求路径长度和允许的查询字符串长度足够,避免因路径过长被拦截。
- 编辑PHP的
php.ini配置文件,确保cgi.fix_pathinfo=1(该配置保证CGI能正确解析PHP文件路径),修改后重启IIS。
- 排查文件本身的属性问题
- 右键
sql_task_success.php文件,查看属性,取消隐藏勾选(隐藏文件可能被IIS拦截读取)。 - 检查文件所在目录是否开启了NTFS压缩,若开启则取消压缩,再测试访问。
- 启用详细日志定位根源
- 打开站点的日志功能,设置日志格式为W3C,并确保记录
URI Query和URI Stem字段。 - 访问出错URL后,查看日志文件,确认请求路径与实际物理路径是否匹配,排查是否存在重定向或路径解析异常。
内容的提问来源于stack exchange,提问作者Technofox
相关产品推荐
相关产品推荐

