使用バージョン:CentOS 5.1, Apache 2.2.3
わしゃapacheは素人でのぉ、このfaviconの設置ってやつ・・・以外と大変ぢゃった・・・
わしが成功したやり方を披露する・・・というと、なにやら偉そうぢゃが、以下の参考ページのうちの1つの方法
についてやっと理解できて成功に至った・・・ってとこだな。へっへへ
参考1
favicon.icoの作成 |
わかりやすい説明付の作成機能のあるサイトや作成ツールを提供するサイトが多数あるので、 わしが補足する必要はないぢゃろ。とわいえ、いちお、わしのやった手順を書いとく。 (1)アイコンを描く Windowsマシンで、16x16ピクセルのBMP(ビットマップ)でアイコンを描く。お絵書きツールはWindowsのPaintでもなんでもよひ。 わしわ女性様の絵を描くのが好きでのぉ。CorelのPaint Shop Proをもっとるのでそれをつこた。 (2)BMPファイルをWindows Iconファイルに変換 @icon変換といふツールで(1)のファイルをWindows Iconファイルに変換すた。 IEがこの形式しかfaviconとしてサポートしないんだそうぢゃ。 なお、IEと他ブラウザで別のアイコンファイルにするだの、マルチアイコンにするだの(@icon変換でも作成可)、 凝りたい御仁は、お好きになされ。 できあがったファイルを設置するCentOSマシンのどっかにとりあえずもっていく。 |
トーシロに今ひとつ不親切な解説 |
ググるとドキュメントトップにfavicon.icoファイルに置くだけだの、httpd.confにAddTypeを1行追加する だけだのいろいろ出てくるが、どれをやってもapacheのアクセスログには戻り値403(Forbidden、ファイルに対する アクセス権なし)が残るだけぢゃった。 追記 Forbiddenになる要因の1つに SELinux の設定がある。本ページの後段は、 SELinuxの設定(SELinux を enforcing のまま各ファイルに適切なパーミッションを) を設定するか、または、SELinux を permissive か disabled に設定)を行っても 駄目な場合に試すとよひぢゃろう。SELinux の設定ファイルは、/etc/selinux/config。 いろいろやってみたところ、参考1にある「Apacheでの設定 - RewriteRuleを利用する場合」でなんとかうまくいった。 |
favicon.icoファイルの置き場所 |
httpd.confとか、ドキュメントディレクトリ周辺を見てたら、どうもapacheの付録(といってよいのかわからんが) のアイコンが/var/www/icons/ディレクトリにあり、httpd.confでその/var/www/icons/にエイリアスとやらの設定が されていることに気づいた。とりあえず、ここにfavicon.icoファイルを置いとくことにすた。 |
RewriteRuleの設定 |
上記、参考1を参考に、httpd.conf(.htaccessではなく)に以下の設定を行った。 RewriteEngine On RewriteCond %{REQUEST_URI} "favicon.ico$" RewriteRule "(.*)(favicon.ico$)" "/icons/favicon.ico" [N,PT] httpd.confを変更すたのでapacheの再起動ぢゃな # service httpd restart |
ページでの設定 |
<link rel="shortcut icon" href="/icons/favicon.ico"/> <link rel="icon" href="/icons/favicon.ico"/> |
hrefにある「/icons/」の部分が上記のエイリアス設定によってファイルシステム上の 「/var/www/icons」ディレクトリに置き換わるらしい。 |
動作確認 |
動作確認をする際は、ブラウザのキャッシュをクリアしてから行うのぢゃ。 なお、IE7の場合は、キャッシュだけでなく履歴もクリアせんとアカンそうぢゃ。 IE7でアクセスした時のapacheのアクセスログを見てもらうとわかるのぢゃが、履歴が残った状態だと、前回までのアクセスで favicon.icoが取得できたか否かに関係なく、IE7はfavicon.icoを取得しにいかないようぢゃて。 |