Nginx의 특정 가상 호스트에 favicon.ico를 설정하는 방법은 무엇입니까?


26

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

매력처럼 일했다. 다른 사람에게 이런 일이 생기면 여기에 남겨 두겠습니다.


600 권한은 umask와 관련 될 수 있습니다 (예 : 해당 사용자의 umask는 077로 설정 됨).
jcisio

권한 문제로 인해 문제가 해결되었습니다!
Kzqai

권한 문제도 여기에 있습니다. 사이트에 png를 업로드하여 ico 파일을 작성했기 때문일 수 있습니다.
Aaron Storck

답변:


14

favicon.ico파일은 nginx root지시문으로 정의 된 웹 사이트 루트 디렉토리에 있어야합니다 . 또는 HTML에서 다음 코드를 사용하여 URL을 즐겨 찾기 아이콘으로 전달할 수 있습니다.

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


나는 거기에 내 favicon.ico 파일이 있습니다 ... 여전히 작동하지 않습니다
ersamy

1
grep favicon.ico nginx-{access,error}.log출력 확인 및 확인 file favicon.ico-IE는 ICO 형식 이외의 것을 이해하지 못합니다. 또한 구성은 하나의 VirtualHost 만 표시합니다.
AlexD

1
PHP crap에 적합, 정적 파일 설정에 적합하지 않음
holms

55

이것은 sites-available/[vhostconfigfile]서버 지시문 아래 특정 vhost 설정 ( ) 에서 수행하는 방법입니다 .

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

그렇게하면 HTML없이 원하는 곳에 넣을 수 있습니다.

".X" 이 반드시 필요한 것은 아니며이 파일 이름을 원하는 것으로 변경할 수 있음을 나타냅니다. 나는 단순히 ".X"를 사용한다 내가 참조하는 특정 하위 도메인을 식별하기위한 자리 표시 자로. 순전히 조직을위한 것입니다.


이것은 내 상황에 완벽합니다. 내 서버의 Webmin 및 phpVirtualBox에 대한 링크가있는 간단한 index.htm이 있으며 3 개 모두 동일한 사용자 정의 파비콘을 갖기를 원했습니다.
RyanScottLewis

=거기에 필요한 가요?
holms

4
=는 필요 하지 않지만 속도가 약간 느리고 정확할 수 있습니다. 문서를 참조하십시오 : nginx.org/en/docs/http/ngx_http_core_module.html#location
Scott Stafford

먼저,에 대한 필요성 .X/var/www/media/images/favicon.X.ico있습니까? 둘째, 게시 된 대로이 솔루션을 시도했지만 여전히 작동하지 않습니다. 아마도 이것이 작동하지 auto_index on;않습니까? 아마도 @AlexD 권장 사항이 필요할 것입니다.
JamesThomasMoon1979

맞습니다. '.X'는 필요하지 않습니다. 우리는 우리가 운영하는 다른 사이트에 대해 동일한 폴더에 많은 즐겨 찾기 아이콘을 모두 가지고 있으므로 고유 한 이름을 지정합니다. 'favicon.ico'로 사용하려는 파일의 정확한 파일 이름이어야합니다. 위의 지시어는 실제 파일의 이름을 임의로 지정할 수 있지만 웹 서버는 올바른 파일 이름 'favicon.ico'를 클라이언트 브라우저에 제공 할 수 있습니다.
eficker

0

즉, 가상 호스트 파일을 루트 디렉토리에서 가져 오면 해당 특정 favicon.ico 파일을 넣어야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.