2016-04-25 20 views
6

Tôi muốn thêm bộ nhớ đệm của trình duyệt vào ứng dụng Laravel của mình.Làm cách nào để thêm bộ nhớ cache của trình duyệt trong Laravel 5?

Tôi đã sử dụng Elixir công cụ versioning như vậy: https://laravel.com/docs/5.2/elixir#versioning-and-cache-busting

Tuy nhiên, theo Google PageSpeed ​​Insights, các tập tin vẫn không phải là bộ nhớ đệm và tôi thay vì nhận được tin nhắn này:

Thiết lập một thời hạn sử dụng hoặc độ tuổi tối đa trong tiêu đề HTTP cho các tài nguyên tĩnh hướng dẫn trình duyệt tải các tài nguyên đã tải xuống trước đây từ đĩa cục bộ thay vì qua mạng.

Tôi nghĩ điều này có thể là do tôi cần thêm tiêu đề bộ nhớ cache theo cách thủ công?

+2

Bạn có thể sử dụng WebServer của bạn để thiết lập ngày hết hạn trên tiêu đề. Tôi nghĩ rằng đó là dễ dàng hơn – geckob

Trả lời

6

Có bạn cần đặt Cache-ControlExpires trong tiêu đề HTTP cho tài nguyên tĩnh, để thông báo Google PageSpeed ​​này sẽ không hiển thị.

Vì bạn đã sử dụng công cụ phiên bản Elixir, bạn có thể đặt Expires of JS/CSS files thành 1 tuần một cách an toàn.

Cách để làm điều đó tùy thuộc vào máy chủ web bạn đang sử dụng.

Nếu bạn đang sử dụng Apache, bạn có thể đặt mã sau vào .htaccess hoặc tệp cấu hình của trang web ảo của bạn.

<FilesMatch "\.(js|css)$"> 
    ExpiresActive On 
    ExpiresDefault "access plus 1 weeks" 
</FilesMatch> 

Đảm bảo bật mô-đun Apache mod_expires!

Với cùng một cú pháp, bạn có thể thiết lập quy tắc bộ nhớ cache cho các tệp .html, .jpg, .png và v.v., để tăng tốc độ tải trang.

Nếu bạn đang sử dụng nginx, có những cách tương tự để giải quyết vấn đề này, bạn có thể làm theo this tutorial

+0

Tôi chỉ muốn thêm một liên kết đến Apache config tutial mặc dù câu trả lời là tiết đủ. http://linuxpitstop.com/configure-apache-mod_expires-on-file-extensions/ –

Các vấn đề liên quan