Прежде всего, я бы предпочел поместить это правило в .htaccess так:
RewriteRule ^favicon\.(gif|ico|png|jpe?g)$ /assets/images/layout/favicon.ico [L,NC]
Тогда, если у вас есть это на вашей веб-странице:
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
/favicon.ico
будетбыть внутренне перенаправленным на /assets/images/layout/favicon.ico
Я проверил это в IE, Firefox и Chrome, и все 3 показывают это поведение, которое в первый раз (или после очистки кэша) я получаю 200
для favicon.ico, но после этого все браузеры кэшируют этот файл значков и не пытаются отправить другой запрос на сервер.С этой настройкой я не обнаружил никаких 304
, происходящих в моем тестировании.
Мой журнал доступа:
Chrome
127.0.0.1 - - [05/May/2011:23:58:15 -0400] "GET /favicon.ico HTTP/1.1" 200 1150 "-" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/534.24 (KHTML, like Geck
o) Chrome/11.0.696.60 Safari/534.24"
IE
127.0.0.1 - - [06/May/2011:00:05:18 -0400] "GET /favicon.ico HTTP/1.1" 200 1150 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .
NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"
Firefox
127.0.0.1 - - [06/May/2011:00:07:33 -0400] "GET /favicon.ico HTTP/1.1" 200 1150 "-" "Mozilla/5.0 (Windows NT 5.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"