Web服务器配置为不列出此目录的内容。 asp.net vs 2012错误?

时间:2013-12-22 16:54:01

标签: asp.net

得到以下错误:

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中的目录设置

7 个答案:

答案 0 :(得分:32)

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

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

答案 1 :(得分:14)

  

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

错误中的关键字为列表

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

请参阅:Microsoft Support: Error 403.14

答案 2 :(得分:7)

失去控制器的短篇小说,以及快乐的结局

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

然后,不知何故,它破了,你开始得到&#34; Web服务器被配置为不列出该目录的内容&#34;当您访问此URL时。奇怪的是,访问/data/index仍然有效!您尝试在网上找到的所有建议都可以完成这项工作,但似乎无法做到。它可能是什么?

也许您应该考虑错误的含义。它说当你访问/data时,它会在那里找到一个目录,但是你不能看到其中的文件。撇开你的路由似乎无法正常工作的事实,它实际上是否有一个目录?

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

因此,解决方案是重命名文件夹,或重命名控制器,一个或另一个。这将很快解决您的问题,然后您可以按照快乐的方式进行编码,直到夜晚的技术西班牙曼陀林恍惚音乐,让您可信赖的猫在您的脚上打盹,并选择您喜欢的冷饮你旁边的桌子!

答案 3 :(得分:2)

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

非常奇怪的是,如果在IIS Web服务器上启用了该选项,则不会列出内容。

答案 4 :(得分:0)

当您按 Ctrl + F5 时,IIS无法理解您的服务内容,因为您的网站中没有任何默认的aspx文件,我建议你通过添加&gt; NewItem&gt; Webform&gt;添加一个aspx文件。 注意:请记得选中右下角的框,&#34;从母版页中选择&#34; 选择后,保存所有页面,只需打开default.aspx文件,您一定会看到反映的设计,就像在母版页中一样。

母版页不是aspx文件,而是作为其他网页的模板,因此您无法打开母版页。

答案 5 :(得分:0)

当您在母版页上时,请勿启动调试器。 EdSF几乎总结了为什么。 此外,您还可能需要设置默认开始页面(右键单击,设置为起始页面)。

答案 6 :(得分:0)

您应在Web配置中定义默认文档值,并禁用目录浏览。

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