发布的文件与localhost不同

时间:2016-03-11 02:37:26

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

所以我通过VS项目发布了一个网站 - >发布网站 - > FTP。当我打开它时,我发现一切都不合适,好像该网站根本没有css。我开始查看网站的HTML和本地版本的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在单个文件中合并了相同扩展名的文件。到目前为止,我想这就是<webopt:bundlereference runat="server" path="~/Content/css" />的用途。  但是文件/Content/css?v=0mo0uNbGUFWt4hgQ0AZZm5kcuaVkDkYEBh4UeS1mWi41甚至没有打开,它会返回403.14 - Forbidden错误

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

2 个答案:

答案 0 :(得分:2)

所有CSS文件都已捆绑到一个文件中。当你有debug =&#34; true&#34;在web.config文件中的system.web编译标记中。

将其关闭,重新编译,然后您应该在本地看到该文件。

答案 1 :(得分:1)

默认情况下,在名为Bundle.config的webforms应用程序中创建了一个文件。它包含缺少的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>