Я впервые использую 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
Работал как шарм. Я оставлю это здесь, если это случится с кем-то другим.
Вот как мы это делаем в нашей конкретной конфигурации vhost (sites-available/[vhostconfigfile]
) в директиве сервера:
location = /favicon.ico {
alias /var/www/media/images/favicon.X.ico;
}
Таким образом, вы можете разместить его где угодно, без какого-либо HTML.
".X." совсем не требуется, и только означает, что вы можете изменить это имя файла на любое другое. Я просто использую ".X". в качестве заполнителя для определения конкретного поддомена, на который я ссылаюсь. Это чисто для организации.
favicon.ico
файл должен быть помещен в корневой каталог веб-сайта, который определяется nginx root
директива. Или вы можете передать URL-адрес в значок, используя следующий код в HTML:
<link rel="shortcut icon" href="http://example.com/myicon.ico" />
Это означает, что куда бы файлы виртуального хоста ни были взяты (корневой каталог), вы должны поместить этот конкретный файл favicon.ico.