为 Web 服务器配置了请求筛选,它包含 hiddenSegments 节,允许服务器管理员拒绝对特定目录的访问。

可尝试的操作:

确认 applicationhost.configweb.config 文件中的 configuration/system.webServer/security/requestFiltering/hiddenSegments 设置。

解决方案一:

在系统盘 C:\Windows\System32\inetsrv\config 下有一个applicationHost.conf文件,内包含这么一段代码:

    <hiddenSegments applyToWebDAV="true"> 
          <add segment="web.config" /> 
          <add segment="bin" /> 
          <add segment="App_code" /> 
          <add segment="App_GlobalResources" /> 
          <add segment="App_LocalResources" /> 
          <add segment="App_WebReferences" /> 
          <add segment="App_Data" /> 
          <add segment="App_Browsers" /> 
        </hiddenSegments> 

<add segment="bin" />删除以后,重启iis解决问题了.

解决方案二:

修改当前站点的web.config文件,加入以下节点

    <configuration>
       <system.webServer>
           <security>
              <requestFiltering>
                   <hiddenSegments>
                       <remove segment="bin" />
                   </hiddenSegments>
               </requestFiltering>
           </security>
       </system.webServer>
    </configuration>

不过因为.net里面使用到bin文件夹,里面涉及到一些安全问题,所以不得已只好恢复原来样式,所以建议用户在编写网站的时候不要包含类似系统常用的的或者软件常用的文件夹作为你的网站文件夹,经常造成不必要的麻烦。