得到以下错误:
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中的目录设置
答案 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将不会“知道”向浏览器“提供”的内容,也不会“知道”如果您希望它,列出该目录的内容(而不是)。
答案 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" />