开发者社区 问答 正文

网站上传图片显示不了,提示:HTTP错误401.3



如题,服务器是win2003+iis+php+fastcgi+isapi_rewrite,网站其他功能都正常,就是上传图片后显示不了,提示如下,



上传的图片权限如图:


正常显示的图片权限如图:
把上传的图片复制后就可以显示,请个人帮忙看看是什么原因?







您未被授权查看该页

您不具备查看该目录或页面的权限,因为访问控制列表 (ACL) 对 Web 服务器上的该资源进行了配置。



请尝试以下操作:
  • 如果您认为自己应该能够查看该目录或页面,请与网站管理员联系。
  • 单击刷新按钮,并使用其他凭据重试。


HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。
Internet 信息服务 (IIS)




技术信息(为技术支持人员提供)
  • 转到 Microsoft 产品支持服务并搜索包括“HTTP”和“401”的标题。
  • 打开“IIS 帮助”(可在 IIS 管理器 (inetmgr) 中访问),然后搜索标题为“关于安全”、“访问控制”和“关于自定义错误消息”的主题。

展开
收起
lancat 2014-10-10 17:31:37 10152 分享 版权
阿里云 AI 助理回答

根据您描述的问题,图片上传后无法显示,并收到HTTP错误401.3(未经授权访问),这通常意味着IIS服务器上的访问控制列表(ACL)限制了对上传图片文件的访问权限。以下是一些可能的解决步骤:

  1. 检查文件夹权限

    • 确保上传目录具有正确的权限设置,以便IIS能够读取其中的内容。您需要为IIS工作进程账户(通常是IUSRNetwork Service)分配适当的权限。可以通过“资源管理器”右键点击上传目录,选择“属性” -> “安全”标签页来查看和修改权限。
  2. 配置IIS匿名身份验证

    • 打开IIS管理器,找到您的站点,双击“身份验证”。
    • 确认“匿名身份验证”已启用。如果未启用,请右键点击它并选择“启用”。
    • 有时可能需要重新设置匿名用户的凭据,确保它们与有权访问该目录的用户相匹配。
  3. 检查应用程序池设置

    • 确认应用程序池使用的标识(在“IIS管理器”中,找到应用程序池,右键点击选择“高级设置”,查看“进程模型”下的“标识”)也有足够的权限访问文件系统。
  4. 自定义错误页面

    • 虽然这不是直接解决问题的方法,但通过自定义401错误页面可以提供更友好的用户体验。在IIS管理器中,导航到“错误页”设置,您可以在这里配置当用户遇到401错误时显示的页面。
  5. 检查NTFS权限

    • 根据您提供的截图,上传的图片权限似乎没有继承自父目录。请确保上传目录的权限正确地继承给了所有子项(包括新上传的图片)。在文件夹的“安全”选项卡中,点击“高级” -> “权限” -> “编辑”,然后选中“替换所有子对象的权限条目”。
  6. FastCGI/PHP设置

    • 虽然这个问题看起来更多是IIS权限问题,但确认PHP FastCGI配置正确也是有帮助的,确保它没有以某种方式限制了对文件的访问。

尝试以上步骤后,如果问题仍然存在,建议查看IIS的日志文件,这些日志通常会提供更多关于为什么请求被拒绝的具体信息。日志文件的位置可以在IIS管理器的“站点” -> “诊断” -> “查看日志文件”中找到。您也可以通过ECS一键诊断全面排查并修复ECS问题。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答