这是我第一次使用 Nginx 作为我的网络服务器。设置它没有任何麻烦,一切都运行良好。问题出现在设计师问我是否可以将“标题栏中的图标”发送给我以便“将其放在那里”时。
# /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 放在每个虚拟主机上?该文件应放在哪里以及如何配置它?
编辑:
我刚刚意识到这是一个完全不同的问题。两个答案都是正确的,但我的问题是权限。我不知道为什么文件 favicon.ico 最终拥有权限 600,当然,在我这样做的时候:
chmod +r favicon.ico
效果非常好。如果其他人也遇到这种情况,我会在这里分享。
答案1
favicon.ico
文件应该放在 nginx 定义的网站根目录中root
指令。或者,您也可以使用以下 HTML 代码将 URL 传递给 favicon:
<link rel="shortcut icon" href="http://example.com/myicon.ico" />
答案2
sites-available/[vhostconfigfile]
以下是我们在服务器指令下的特定 vhost 配置()中执行的操作:
location = /favicon.ico {
alias /var/www/media/images/favicon.X.ico;
}
这样,您就可以将它放在任何您想要的地方,而不需要任何 HTML。
“.X.” 完全不是必需的,仅表示您可以将此文件名更改为任何您喜欢的名称。我只是使用“.X.”作为占位符来标识我所引用的特定子域。它纯粹是为了组织。
答案3
这意味着,无论虚拟主机的文件来自哪里(根目录),您都应该放置该特定的 favicon.ico 文件。