<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
</staticContent>
<handlers accessPolicy="Script,Read">
<!-- For any request to a file exists on disk, return it via native http module. AccessPolicy="Script" above is to allow for a managed 404 page. -->
<add name="StaticFile" path="*" verb="*" modules="StaticFileModule" preCondition="integratedMode" resourceType="File" requireAccess="Read" />
</handlers>
</system.webServer>
</configuration>
7条答案
按热度按时间tp5buhyn1#
以上都不适合我。真正有效的(我记得很久以前)是缺少MIME类型Map使IIS混乱。如果你能将不同类型的文件放在不同的文件夹中,这很容易诊断为问题。
简单的修复是IIS下的“MIME类型”部分,无论是在服务器上,网站上,还是虚拟文件夹上。只需添加“*.foo”和“application/octet-stream”作为MIME类型,即“已经发送字节!”
w6mmgewl2#
请检查IIS中的用户。站点-〉基本设置-〉连接身份...(如果我没记错的话)
默认情况下,IIS中的用户是IUSR。您必须更改为IIS_IUSRS。然后您的权限才能生效。
This Article could help you
o4hqfura3#
您需要添加一个
web.config
文件,以便为每个包含具有以下内容的静态文件的文件夹中的静态文件提供服务:g6baxovj4#
我还添加了此代码,使应用程序运行。没有它的应用程序不工作,但文件显示正确:-(
t1rydlwq5#
在我的例子中,我有一个扩展名为
cache
的文件-IIS中的一个未知mime类型。我的404文件找不到的问题是通过更新网站web.config来解决的,以添加文件扩展名为
cache
的mimeMap,如下:有关Adding Static Content MIME Mappings和Troublshooting a 404的更多信息
bejyjqdl6#
这可能不是一个常见的问题,但我不小心创建了一个虚拟目录,其中包含了我的默认页面的路径,这就把事情搞砸了。我不得不打开applicationhost.config文件,并删除了虚拟目录(当然,我也可以用其他方法删除它,但直到我打开了这个文件,我才弄明白,因为我已经打开了它,所以我继续并保存了更改)。
wvmv3b1j7#
我也遇到过这个问题,原来是文件路径问题。
我尝试以“C:\folder\file”的形式访问路径
当我尝试以“\file”访问它时,它工作了,因此它将类似于“(您的服务器)\file”
而不是“(您的服务器)C:\folder\file”