/ bin浏览时出错404

时间:2012-07-04 07:37:30

标签: asp.net windows iis http-status-code-404 bin-folder

我在Windows Server 2008 R2上运行IIS 7.5 当我浏览“/ bin”文件夹时,我收到404: file not found错误。我知道这是微软的安全政策。

我尝试用here写的内容,但它没有解决问题。有什么想法吗?

修改
需要注意的是,我没有安全问题。我运行IIS以便在专用网络中进行直接浏览。最终我需要对它执行爬网和索引。问题是由于404错误,“/ bin”和“/ AppConfig”下的页面没有被抓取。

我只需要一个解决这个问题的方法。同样,这里没有安全问题。

2 个答案:

答案 0 :(得分:11)

Bin文件夹不是开发人员放置网页的地方。

在IIS 7.5中,您可以配置

  1. 打开Internet信息服务(IIS)管理器
  2. 在“连接”窗格中,转到连接,站点,应用程序或目录 您要修改请求过滤设置。
  3. 在“主页”窗格中,双击“请求筛选”。
  4. 请求过滤窗格中,单击“隐藏的细分”标签
  5. 选择要显示的相对路径(BIN文件夹),然后单击“操作”窗格中的“删除”。
  6. 同样可以通过web.config

    完成
    <configuration>
      <system.webServer>
       <security>
         <requestFiltering>
            <hiddenSegments applyToWebDAV="false">
               <remove segment="Bin" />
            </hiddenSegments>
         </requestFiltering>
       </security>
      </system.webServer>
    </configuration>
    

    无论如何,为了避免在开发服务器和任何部署服务器上出现问题,我认为最简单的解决方案是将该页面移动到另一个文件夹


    阅读here

    ASP.NET recognizes certain folder names that you can use   
    for specific types of content.  
    The following table lists the reserved folder names and the type   
    of files that the folders typically contain.
    
    Note
    The content of application folders, except for the App_Themes folder,
    is not served in response to Web requests,
    but it can be accessed from application code.
    
    • App_Browsers包含浏览器定义(.browser文件) ASP.NET用于识别各个浏览器并确定它们 能力。
    • App_Code包含来源 共享类和业务对象的代码
    • App_Data包含应用程序数据文件 包括.mdf数据库文件,XML文件和其他数据存储文件。
    • App_GlobalResources 包含已编译的资源(.resx和.resources文件) 进入具有全球范围的集会。
    • App_LocalResources包含资源(.resx和 .resources文件)与特定页面,用户相关联 控件或应用程序中的母版页
    • App_Themes包含一个集合 文件(.skin和.css文件,以及图像文件和通用文件 资源)定义ASP.NET网页的外观和 控件。
    • App_WebReferences包含引用合同文件(.wsdl文件), 模式(.xsd文件)和发现文档文件(.disco和 .discomap文件),让您创建一个Web引用以供在。中使用 应用
    • Bin 包含控件,组件的已编译程序集(.dll文件), 或您要在应用程序中引用的其他代码。

答案 1 :(得分:0)

  • 通过网络共享访问\ bin文件夹,例如\\myserver\mysite\bin
  • 编写ashx处理程序或asmx Web服务,它将为您扫描\ bin文件夹并为您返回结果,例如: Directory.GetFiles(Server.MapPath("~\bin"))