Cấu hình favicon với tiêu đề hết hạn trong htaccess


12

Tôi đã triển khai các tiêu đề Hết hạn thông qua mod_Exires trên máy chủ Apache của tôi và đã tạo thành công các tiêu đề hết hạn cho hầu hết các loại tệp, tuy nhiên tôi gặp sự cố với favicon.

Ban đầu tôi đã thử thêm một bộ hướng dẫn cho các tệp .ico nhưng khi kiểm tra qua YSlow thì nó không có bộ hết hạn.

Khi nó không hoạt động, tôi đã sửa nó thành GIF, tuy nhiên điều này dường như có cùng một vấn đề.

Các gif khác trên trang web đã đặt chính xác các tiêu đề hết hạn (ít nhất là accoridng cho YSlow).

Bất cứ ai có thể làm sáng tỏ về tình huống này?

Câu trả lời:


19

Nếu bạn đang sử dụng Apache, chỉ cần thêm MIME-Type cho favicon trong tệp .htaccess của trang web của bạn hoặc vào tệp mime.types của Apache:

# Add Proper MIME-Type for Favicon
AddType image/x-icon .ico

Sau đó, đặt tiêu đề Hết hạn một vài tháng trong tương lai:

# Enable Apache's mod_expires Module
ExpiresActive On
ExpiresByType image/x-icon "access plus 1 month"

Sau khi xóa bộ nhớ cache của trình duyệt và tải lại trang, bạn sẽ thấy tệp favicon.ico được cung cấp với tiêu đề Kiểm soát bộ đệm được đặt thành một ngày (được chỉ định bằng giây) trong tương lai:

Content-Type image/x-icon
Cache-Control: max-age=2592000

Để biết thông tin liên quan, hãy xem tài liệu YSlow về Làm cho favicon.ico của bạn nhỏ và có thể lưu trữ tại: http://developer.yahoo.com/performance/rules.html#favicon


+1 Điều này hoàn toàn hoạt động. Hãy chắc chắn để xóa bộ nhớ cache của bạn mặc dù mọi người, tôi nghĩ rằng điều này không hoạt động cho đến khi tôi xóa thủ công bộ nhớ cache của tôi. Không chắc chắn tại sao một làm mới cứng đã không làm điều đó nhưng bất cứ điều gì.
Có Barry

0

Điều này ở đây làm việc cho tôi:

# Cache the following content for 1 month (4 Weeks)
<FilesMatch "\.(jpg|jpeg|png|gif|ico)$">
Header set Cache-Control "max-age=2419200, public"
</FilesMatch>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.