MVC4中wwwroot目录文件列表可见问题求助
解决MVC4中wwwroot子目录文件列表被展示的问题
要禁止用户查看wwwroot子目录的文件列表,但保留单个文件的访问权限,直接通过Web.config配置就能搞定,有两种常用方式:
- 全局禁用目录浏览
在项目根目录的Web.config里,找到<system.webServer>节点,添加或修改<directoryBrowse>配置:
<system.webServer> <directoryBrowse enabled="false" /> </system.webServer>
这会对所有目录生效,用户访问任何子目录都会返回403权限错误,但直接请求单个文件(比如mysite.com/folder/test.jpg)不受影响。
- 仅针对特定子目录禁用
如果不想全局禁用,只针对某几个子目录限制,有两种实现方式:- 在目标子目录(比如
wwwroot/folder)下新建一个Web.config,写入以下内容:
<?xml version="1.0"?> <configuration> <system.webServer> <directoryBrowse enabled="false" /> </system.webServer> </configuration>- 或者在根Web.config里用
<location>节点指定路径,避免新建多个配置文件:
<configuration> <location path="wwwroot/folder"> <system.webServer> <directoryBrowse enabled="false" /> </system.webServer> </location> </configuration> - 在目标子目录(比如
不管用哪种方式,配置后都能达到你要的效果:禁止目录列表展示,单个文件正常访问。
内容的提问来源于stack exchange,提问作者Hosein Dafeyan
相关产品推荐
相关产品推荐

