【问题标题】:The Web server is configured to not list the contents of this directory. asp.net vs 2012 error?Web 服务器配置为不列出此目录的内容。 asp.net vs 2012 错误?
【发布时间】:2019-01-11 19:30:35
【问题描述】:

出现以下错误:

HTTP Error 403.14 - Forbidden
The Web server is configured to not list the contents of this directory.

这就是我链接css文件的方式。

<link rel="stylesheet" type="text/css" href="~/styles/StyleSheet.css" />

我是第一次使用母版页。我确实在 iss 服务器中添加了母版页。 我在我的 iss 8.0 中启用了目录设置

【问题讨论】:

  • 将其添加到问题本身,而不是作为评论...
  • 我在我的 iss 8.0 中启用了目录
  • 我认为这是因为在添加应用程序时没有给出正确的物理路径。小心给出正确的路径。
  • 这让我朝着正确的方向前进。有一个很好的问题徽章。 +1

标签: asp.net


【解决方案1】:

您是否尝试在 web.config 文件中设置以下内容:

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

【讨论】:

    【解决方案2】:

    Web 服务器配置为不列出此目录的内容

    错误中的关键字是list

    这听起来更像是您没有设置default document。如果您没有,也不请求特定文档(例如分别为 http://www.foobar.com/http://www.foobar.com/foo.html),IIS 将不“知道”向浏览器“提供”什么,也不知道,您也不应该期望它到,列出该目录的内容(而不是)。

    见:Microsoft Support: Error 403.14

    【讨论】:

    • 这对我有用。谢谢!但是对于其他新人,要进行此调整,请转到您的解决方案属性->“Web”选项卡->“特定页面”并浏览到您的默认网页。再次尝试运行它。
    • 是的,我的应用是 dotnet 应用,但我不知道如何托管我的 web api
    • @sabertababaeeyazdi 请发布一个新问题,详细说明您到目前为止所做的尝试,而不是在这里发表评论。
    【解决方案3】:

    一个失落的控制者的短篇故事,一个幸福的结局

    假设您在项目文件/Controllers/DataController.cs 中有一个名为Data 的控制器。您可以通过http://yoursite.com/data 很好地访问它,它由DataController.Index 操作方法处理。

    然后,不知何故,它中断了,当您访问此 URL 时,您开始收到“Web 服务器配置为不列出此目录的内容”。奇怪的是,访问/data/index 仍然有效!您尝试了所有在网上找到的建议来完成这项工作,但似乎无法做到。会是什么?

    也许您应该考虑一下错误的含义。它说当您访问/data 时,它会在那里找到一个目录,但不允许您查看其中的文件。撇开您的路由似乎不起作用并且应该起作用的事实不谈,那里真的有一个目录吗?

    是的,可以!在您的 Web 项目中,您巧妙地添加了文件夹 /Data!这是一个物理文件夹,在服务器的静态路由规则中具有优先权(因为您没有重写这些,所以物理文件将在 托管虚拟路径之后查看)。

    因此,解决方案是重命名文件夹或重命名控制器,一个或另一个。这将很快解决您的问题,然后您可以继续愉快地进行编码,直到深夜,伴随着西班牙曼陀林 trance 音乐的旋律,您可信赖的猫在您的脚上打盹,您选择的冷饮在滴上你旁边的桌子!

    【讨论】:

    • 如果可以的话,我会两次赞成这个答案;一次是因为它解决了我们的问题,一次是因为它的写作方式很有趣。不错!
    • @gerrod 很高兴为您提供帮助!我至少花了 90 分钟才找到并修复那个,叹息...
    【解决方案4】:

    Ramesh Rajendran 的答案必须有效,但您可以查看您的 Web 应用程序使用的模块是什么,并在 webconfig 文件中添加 system.webServer 标记以供他们使用。当我将它放在服务器 IIS 上时,我在测试 Web 应用程序中也遇到了这个错误。

    在 IIS Web Server 上启用的选项不列出内容很奇怪。

    【讨论】:

      【解决方案5】:

      当您按下 Ctrl+F5 时,由于您的站点中没有任何默认 aspx 文件,因此 IIS 不知道该提供什么服务,我建议您通过转到 Add>NewItem>Webform> 添加一个 aspx 文件 注意:记得勾选右下角的“从母版页选择” 选择后,保存所有页面并打开您的 default.aspx 文件,您一定会看到反映的设计,就像您在母版页中所做的那样。

      母版页不是aspx文件,而是作为其他网页的模板,所以不能只打开母版页。

      【讨论】:

        【解决方案6】:

        不要在母版页上启动调试器。 EdSF 几乎总结了原因。 另外,您可能还需要设置一个默认起始页(右键,设置为起始页)。

        【讨论】:

          【解决方案7】:

          您应该在 web config 中定义一个默认文档值并禁用目录浏览。

          <system.webServer>
          <defaultDocument>
             <files>
                <add value="insertion.aspx" />
             </files>
          </defaultDocument>
          <directoryBrowse enabled="false" />
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-02-05
            • 2013-04-06
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-06-09
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多