【发布时间】:2014-07-04 13:39:38
【问题描述】:
我遇到了远程发布时图标不显示的问题。如果我通过http://localhost:62299/ 在 Visual Studio 2010 中运行该项目,我会在 Firefox 中完美地看到所有内容,但如果我使用相同的浏览器查看远程网站,则图标不会显示。在不同版本的 IE 中也能获得不同的结果。
我已确保完整复制了完整的 /Contents 和 /Scripts 文件夹,以确保没有遗漏任何文件。但尽管如此,图标仍然不会显示。
BundleConfig.cs
using System.Web.Optimization;
namespace WebApplication1
{
public class BundleConfig
{
// For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725
public static void RegisterBundles(BundleCollection bundles)
{
bundles.IgnoreList.Clear();
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryold").Include(
"~/Scripts/Compatibility/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryuiold").Include(
"~/Scripts/Compatibility/jquery-ui-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
"~/Scripts/jquery-ui-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));
bundles.Add(new ScriptBundle("~/bundles/ie9").Include(
"~/Scripts/html5shiv.js",
"~/Scripts/respond.min.js"));
bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
"~/Scripts/bootstrap*"));
bundles.Add(new ScriptBundle("~/bundles/freelanceold").Include(
"~/Scripts/jquery.easing.min.js",
"~/Scripts/classie.js",
"~/Scripts/freelancer.js"));
bundles.Add(new ScriptBundle("~/bundles/freelance").Include(
"~/Scripts/jquery.easing.min.js",
"~/Scripts/classie.js",
"~/Scripts/cbpAnimatedHeader.js",
"~/Scripts/freelancer.js"));
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/bootstrap.min.css",
"~/Content/Site.css"));
bundles.Add(new StyleBundle("~/Content/font-awesome").Include(
"~/Content/font-awesome/css/font-awesome.min.css"));
}
}
}
_layout.cshtml
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<title>@ViewBag.Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" />
<meta name="description" content="" />
<meta name="author" content="" />
@Styles.Render("~/Content/css")
@Styles.Render("~/Content/font-awesome")
@Scripts.Render("~/bundles/modernizr")
<link href='http://fonts.googleapis.com/css?family=Montserrat:400' rel='stylesheet' type='text/css' />
<link href='http://fonts.googleapis.com/css?family=Montserrat:700' rel='stylesheet' type='text/css' />
</head>
<body id="page-top">
@RenderSection("featured", required: false)
@RenderBody()
<footer class="text-center">
<div class="footer-below">
<div class="container">
<div class="row">
<div class="col-lg-12">
Copyright © 2014 - MySite
</div>
</div>
</div>
</div>
</footer>
<div class="scroll-top page-scroll visible-xs visble-sm">
<a class="btn btn-primary" href="#page-top">
<i class="fa fa-chevron-up"></i>
</a>
</div>
<!--[if lt IE 9]>
@Scripts.Render("~/bundles/jqueryold")
<![endif]-->
<!--[if gte IE 9]><!-->
@Scripts.Render("~/bundles/jquery")
<!--<![endif]-->
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/bundles/freelance")
<!-- IE8 support for HTML5 elements and media queries -->
<!--[if lt IE 9 !IE]>
@Scripts.Render("~/bundles/ie9")
<![endif]-->
@RenderSection("scripts", required: false)
</body>
</html>
任何帮助将不胜感激:-)
【问题讨论】:
-
哪些图标没有显示,我怀疑它们的网址是错误的
-
我同意@EhsanSajjad,您的图标路径是否与错误位置相关?例如,尝试在 Chrome 中使用开发者控制台,看看在尝试加载这些资产时是否遇到任何 404 错误。
-
我会使用开发者控制台看看,但如果我通过 Visual Studio 2010 发布项目,本地主机与远程有何不同?
-
首先,您可能要发布到子目录,例如,您的网站在
www.domain.com/mysite上运行,并且图标试图来自项目范围之外的`/icons/foo.png'。其次,在发布模式下,捆绑优化你的 CSS 和 JS 文件。 -
这是我刚刚从开发者控制台
Request URL: http://WebApplication1/Content/font-awesome?v=RQz58PBPiAX9UQCybbfMPkfO33wv39gGmQRFOVCaIi41 Request Method: GET Status Code: HTTP/1.1 301 Moved PermanentlyRequest URL: http://WebApplication1/Content/font-awesome/?v=RQz58PBPiAX9UQCybbfMPkfO33wv39gGmQRFOVCaIi41 Request Method: GET Status Code: HTTP/1.1 403 Forbidden得到的
标签: asp.net-mvc twitter-bootstrap asp.net-mvc-4 razor font-awesome