IIS显示404但文件存在

时间:2016-12-29 14:11:44

标签: c# iis model-view-controller http-status-code-404

在VPS上运行后,我的应用程序出现问题。

我在VPS上安装了IIS,删除了DefaultWebsite,并添加了另一个。一切看起来都不错,网站启动,但我无法访问内容脚本模板等文件夹中的任何文件上。这意味着我的网站上没有任何图片和样式。

我尝试了IIS_IUSRS的大权限,但文件仍然无法正确显示。网站与系统在同一分区上,我认为这是问题所在,但我无法移动它。我只有一个分区:-(任何解决方案吗?

6 个答案:

答案 0 :(得分:1)

以上都不对我有用。起作用的原因(我记得曾经发生的事情)是缺少MIME类型映射使IIS感到困惑。如果可以将不同类型的文件放在不同的文件夹中,这很容易诊断为问题。

轻松修复是IIS下在服务器,网站或虚拟文件夹上的“ MIME类型”部分。只需添加“ * .foo”和“ application / octet-stream”作为MIME类型,即“已经发送字节了!”

答案 1 :(得分:0)

请检查IIS中的用户。网站 - >基本设置 - >连接为......(如果我没记错的话)

默认情况下,IIS中的用户是IUSR。您必须更改为IIS_IUSRS。然后你的权限就可以了。

This Article could help you

答案 2 :(得分:0)

您需要添加web.config文件,以便在包含具有以下内容的静态文件的每个文件夹中提供静态文件:

<?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>

答案 3 :(得分:0)

我还添加了此代码以使应用运行。没有它应用程序不起作用,但文件显示正确: - (

<system.webServer>
   <validation validateIntegratedModeConfiguration="false"/>
    <handlers>
   <remove name="BlockViewHandler"/>
     <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler"/>
    </handlers>
    </system.webServer>

答案 4 :(得分:0)

就我而言,我有一个扩展名为public class Third { public void m1(Child c) { Child d = c.clone(); } } 的文件-IIS中的一个未知的mime类型。

我的404文件未找到问题已通过更新站点web.config来解决,以为文件扩展名cache添加mimeMap,如下所示:

cache

有关Adding Static Content MIME Mappings Troublshooting a 404

的更多信息

答案 5 :(得分:0)

可能不是一个常见的问题,但我不小心创建了一个带有默认页面路径的虚拟目录,这把事情搞砸了。我不得不打开 applicationhost.config 文件,并删除虚拟目录(好吧,可能可以通过其他方式删除它,但直到我打开文件才弄清楚,因为我已经打开了它,我去了并保存更改)。