【问题标题】:Published files look like different from localhost发布的文件看起来与本地主机不同
【发布时间】:2016-03-11 02:37:26
【问题描述】:

所以我通过 VS 项目发布了一个网站 -> 发布网站 -> ftp。当我打开它时,我发现一切都不合适了,好像网站根本没有 CSS。我开始查看网站在线和本地版本的 HTML,就在上面我确实注意到了这一点:

在线:

<title>
...
</title><script src="/bundles/modernizr?v=wBEWDufH_8Md-Pbioxomt90vm6tJN2Pyy9u9zHtWsPo1"></script>
<link href="/Content/css?v=0mo0uNbGUFWt4hgQ0AZZm5kcuaVkDkYEBh4UeS1mWi41" rel="stylesheet"/>
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />

本地主机:

<title>
...
</title><script src="/Scripts/modernizr-2.6.2.js"></script>
<link href="/Content/bootstrap.css" rel="stylesheet"/>
<link href="/Content/Site.css" rel="stylesheet"/>
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />

应该是相同的,但看起来 .NET 将具有相同扩展名的文件合并到一个文件中。到目前为止还好,我想这就是&lt;webopt:bundlereference runat="server" path="~/Content/css" /&gt; 的用途。 但是文件/Content/css?v=0mo0uNbGUFWt4hgQ0AZZm5kcuaVkDkYEBh4UeS1mWi41 甚至没有打开,它返回一个403.14 - Forbidden 错误

错误的原因是什么,我该如何解决?

【问题讨论】:

    标签: asp.net .net iis publish http-status-code-403


    【解决方案1】:

    您的所有 CSS 文件都已捆绑到一个文件中。当您的 web.config 文件的 system.web 编译标签中有 debug="true" 时,不会执行此操作。

    关闭它,重新编译,然后你应该可以在本地看到该文件。

    【讨论】:

    • 如何只禁用文件合并?我不想在发布时设置 debug true...
    • 从 Bundle.config 中删除所有文件夹。
    【解决方案2】:

    在 webforms 应用程序中默认创建了一个名为 Bundle.config 的文件。它包含缺少的 CSS 包的定义。您是否已将其删除,或者您已发布的文件中缺少它?这可能会导致您所看到的。我删除了我的,然后所有的 css 都消失了,因为现在它没有将该 URL 与捆绑包匹配。

    它被称为 Bundle.config,它位于根文件夹中,它包含以下内容:

    <?xml version="1.0" encoding="utf-8" ?>
    <bundles version="1.0">
      <styleBundle path="~/Content/css">
        <include path="~/Content/bootstrap.css" />
        <include path="~/Content/Site.css" />
      </styleBundle>
    </bundles>
    

    【讨论】:

    • 该文件位于根文件夹中,其内容与此完全相同
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-11
    • 2015-03-22
    • 1970-01-01
    • 2011-12-10
    • 2021-12-25
    • 2022-01-07
    • 2021-07-30
    相关资源
    最近更新 更多