簡単にfaviconについて話します

3197 ワード

favicon.ico紹介
favicon.icoはどんなものですか?あまりにも多く見られがちです。(私はこの文章を書く前に知っています。)ウィキペディアの説明を見てみます。

Favicon favorites icon , website icon( )、page icon( ) urlicon(URL ), http://zh.wikipedia.org/wiki/Favicon
実はこのものです。ほとんどのサイトは開いているブラウザのタブの一番左側にこの小さいアイコンを表示しています。これはfavicon.icoです。

このアイコンはどのように設置されていますか?多くの学生が私と同じようにこの細部に慣れっこになっていますが、どうやって手を挙げますか?
favicon設定
これはどうやって設置しますか?設置方法は簡単です。二つの方法があります。
デフォルトはサーバーのルートディレクトリの下に配置されます。
ファイルをfavicon.icoと命名してウェブサイトのルートディレクトリの下に置いてもいいです。ブラウザは自動的にhttp://host/favicon.icoを取得するように要求します。この要求はブラウザの中でF 12を通じては見えないので、他のツール(例えばFiddler)を使って見たり、サーバの問い合わせログを開いたりします。
「13/May/2015:16:07:31+0800」「192.168.X.X」「test.test.com」「200」「GET/favicon.ico HTTP/1.1」「4409」…
ウェブページのアイコンの位置と名前をlinkタグで修正します。
この方法は、htmlのリンクタグを使って、ページのグラフの位置と名前を設定するというものです。
<link href=「favicon_」baoman.ico「type=」イメージ/X-incon「rel=」icon">

注意点
ブラウザはアイコンの情報をキャッシュします。firefoxは試してみました。しばらくの間(2分ぐらい)ごとにfaviconを要求します。chromeはデータを削除しなければなりません。改めて要求します。
これは何の影響がありますか?
この問題はPHPフレームのため、PHPフレームがパスinfoを通じてルートを解析し、ルートは「mod/controller.method」です。もし一致しないならログを記録して404に戻ります。正しい経路にアクセスしてもルートが存在しないと言い間違えますが、インターフェースが戻ってきたらokです。間違ったルートにアクセスすると2つのエラーログが記録されます。これはどういうことですか?下は私のinx配置です。

 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を持っていきます。この時、ルーティングの誤りを報告したら、思った通りになります。ブラウザから二つの要求があります。一つは私達が欲しいものとします。もう一つはこのアイコンです。この問題解決方法も簡単です。このグラフを設定に追加するか、または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を配置するルールがあります。濉!#まとめてみます。多く見て、なぜ多くのものに興味を持たないでください。
以上述べましたが、本文の内容は全部です。お好きになってください。