如何为Nginx上的特定虚拟主机设置favicon.ico?

我第一次使用Nginx作为我的networking服务器。 我没有任何麻烦设置它,一切都很好。 问题出现在devise师问我是否可以把“标题栏中的图标”发送给我“放在那里”。

# /opt/nginx/conf/nginx.conf ... server { listen 80 ; server_name *.website.com website.com; root /home/webuser/sites/website; } 

我的目录:

 /home/webuser/sites/website/ |_ index.html |_ main.css |_ favicon.ico 

是否有可能把一个特定的favicon.ico到每个虚拟主机? 你应该把这个文件放在哪里,你怎么configuration它?

编辑:

我只是意识到这是一个完全不同的问题。 两个答案都是正确的,但我的问题是许可。 我不知道为什么文件favicon.ico结束了权限600,当然我做了:

 chmod +r favicon.ico 

像魅力一样工作。 如果发生在别人身上,我会把这个留在这里。

favicon.ico文件应放置在由nginx root指令定义的网站根目录中。 或者,您可以通过在HTML中使用以下代码将URL传递给图标:

<link rel="shortcut icon" href="http://example.com/myicon.ico" />

这是我们如何在服务器指令下的特定vhostconfiguration( sites-available/[vhostconfigfile] )中执行的:

 location = /favicon.ico { alias /var/www/media/images/favicon.X.ico; } 

这样,你可以把它放在任何你想要的,没有任何HTML。

“.X” 根本不需要,只是表示你可以改变这个文件名为你喜欢的任何东西。 我只是使用“.X”。 作为占位符来标识我所引用的特定子域。 它纯粹是为了组织。

这意味着,无论从何处获取虚拟主机的文件(根目录),都应该放置该特定的favicon.ico文件。