간단하게 favicon 얘 기 좀 하 자.

3712 단어 favicon
favicon.ico 소개
favicon.ico 는 무엇 일 까요?너무 많이 봐 서 익숙 할 수도 있 습 니 다.

Favicon favorites icon , website icon( )、page icon( ) urlicon(URL ), http://zh.wikipedia.org/wiki/Favicon
사실은 이것 입 니 다.대부분의 사이트 에서 열 리 는 브 라 우 저 tab 맨 왼쪽 에 이 작은 아이콘 을 표시 합 니 다.이것 이 바로 favicon.ico 입 니 다.

이 아이콘 을 어떻게 설 치 했 을 까?나 처럼 이 작은 디 테 일 에 익숙 한 친구 들 이 얼마나 많은 지 모 르 겠 지만 어떻게 손 을 들 어야 할 지 모르겠다.
favicon 설정
이것 은 어떻게 설정 합 니까?설정 방법 은 매우 간단 합 니 다.두 가지 방법 이 있 습 니 다.
기본 값 은 서버 루트 디 렉 터 리 아래 에 놓 습 니 다.
바로 파일 을 favicon.ico 라 고 명명 하고 사이트 루트 디 렉 터 리 에 놓 으 면 됩 니 다.브 라 우 저 는 자동 으로 가 져 오 라 고 요청 합 니 다http://host/favicon.ico.이 요청 은 브 라 우 저 에서 F12 를 통 해 볼 수 없습니다.다른 도구(예 를 들 어 Fiddler)를 통 해 보 거나 서비스 기 방문 로 그 를 열 어야 합 니 다.예 를 들 어 저 는 nginx 로그 에 웹 아이콘 요청 이 표 시 됩 니 다.
"13/May/2015:16:07:31 +0800" "192.168.X.X" "test.test.com" "200" "GET /favicon.ico HTTP/1.1" "4409" ......
링크 탭 을 통 해 웹 아이콘 의 위치 와 이름 을 수정 합 니 다.
이 방법 은 html 링크 라벨 을 통 해 웹 페이지 도표 의 위치 와 이름 을 설정 하 는 것 입 니 다.아래 와 같 습 니 다.


주의 점
브 라 우 저 는 아이콘 의 정 보 를 캐 시 합 니 다.fireforx 는 일정 시간(2 분 정도)마다 favicon 을 요청 합 니 다.chrome 은 데 이 터 를 삭제 해 야 다시 요청 할 수 있 습 니 다~
이게 무슨 영향 이 있 을까요?
이 문 제 를 발견 한 것 은 PHP 프레임 워 크 때 문 입 니 다.PHP 프레임 워 크 는 pathinfo 를 통 해 경 로 를 분석 합 니 다.경로 방식 은[mod/controller.method]입 니 다.일치 하지 않 으 면 로 그 를 기록 하고 404 로 돌아 갑 니 다.정확 한 경 로 를 방문 해도 경로 가 존재 하지 않 는 다 고 잘못 보고 할 수 있 습 니 다.그러나 인터페이스 가 되 돌아 오 는 것 은 ok 입 니 다.잘못된 경로 에 접근 하면 두 개의 오류 로 그 를 기록 합 니 다.이게 어떻게 된 거 죠?다음은 제 nginx 설정 입 니 다.

 server {
   listen  80;
   server_name test.test.com;

   location / {
     root /export/adsz/boss/php/sphp;
     fastcgi_pass  127.0.0.1:9000;
     fastcgi_index  index.php;
     fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
     fastcgi_param PATH_INFO $fastcgi_path_info;
     include fastcgi_params;
     rewrite ^/(.*)$  /index.php/$1 break;
   }
 }

nginx 설정 으로 인해 이 문제 가 존재 합 니 다.브 라 우 저가 인 터 페 이 스 를 요청 할 때 기본적으로 가 져 옵 니 다http://test.test.com/favicon.ico.이 때 경로 가 잘못 되 었 다 고 보고 하면 통 합 됩 니 다.브 라 우 저 는 두 가지 요청 을 합 니 다.하 나 는 우리 가 원 하 는 것 입 니 다.다른 하 나 는 바로 이 ico 웹 아이콘 요청 입 니 다.이 문제 해결 방법 도 간단 합 니 다.설정 에 이 도 표를 추가 하거나 favicon 요청 을 다른 곳 으로 찾 아야 합 니 다:

 server {
   listen  80;
   server_name test.test.com;
  location = /favicon.ico {
    root /wwroot/public/images/;
  }
   location / {
     root /wwroot/;
     fastcgi_pass  127.0.0.1:9000;
     fastcgi_index  index.php;
     fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
     fastcgi_param PATH_INFO $fastcgi_path_info;
     include fastcgi_params;
     rewrite ^/(.*)$  /index.php/$1 break;
   }
 }
총결산
이 원인 을 찾 아 수정 한 후에 저 는 nginx 설정 을 자세히 보 았 는데 다른 가상 호스트 들 이 모두 이 favicon.ico 를 설정 하 는 일치 규칙 이 있 음 을 발 견 했 습 니 다!濉!!#결론 적 으로,많은 것 에 흥 미 를 잃 지 말고,왜 그런 지 많이 생각해 보 는 것 이다.
이상 에서 말 한 것 이 바로 본문의 전체 내용 이 니 여러분 들 이 좋아 하 시 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기