我的asp.net核心应用程序在部署到IIS

时间:2017-07-11 14:43:43

标签: iis asp.net-core visual-studio-2017

当我使用IIS Express在Visual Studio 2017中运行我的应用程序时,它能够在wwwroot文件夹中找到favicon.ico。 当它部署到服务器上的IIS时,它无法找到它。

我认为这与网址有关...

在开发中,网址为https://localhost:44359 显示小图标,如果我手动输入https://localhost:44359/favicon.ico,则返回它。

在制作中,网址为https://localhost/reporting favicon没有出现,似乎在https://localhost/favicon.ico寻找它(返回404)。 如果我将其更改为http://localhost/reporting/favicon.ico,则会返回图标。

有人可以建议为什么它不会自动寻找/ reporting / ??

下的图标

我也有几个路由问题,但除此之外该应用似乎工作正常。我认为路由问题可能与favicon有相同的原因。

2 个答案:

答案 0 :(得分:6)

浏览器只检查example.com/favicon.ico - 他们不检查子文件夹。

如果你把它放在非标准的地方(你是!),你需要将浏览器指向它。在您网页的<head>中:

<link rel="shortcut icon" href="/reporting/favicon.ico">

答案 1 :(得分:0)

为网站子文件夹中的应用程序查找静态资源存在问题。但是,在Razor页面的<head>中,您可以使用:

<link rel="shortcut icon" href='@Url.Content("~/favicon.ico")'>

其中〜表示应用程序的wwwroot文件夹。