Bagaimana cara menetapkan header kedaluwarsa untuk CSS, JS, dan Gambar?
38
Baru-baru ini saya menganalisis situs web saya dengan addon kecepatan halaman di pembakar. Itu menyarankan saya untuk mengatur kedaluwarsa pada file CSS, JS dan gambar.
Saya mendapatkan 500 kesalahan Server Internal ketika saya meletakkannya di file .htaccess saya
KoolKabin
Pengaturan Apache Anda mungkin tidak mendukung semua opsi yang tercantum di atas. Saya akan segera memperbarui jawaban ini untuk membantu menyelesaikan masalah ini.
John Conde
Drupal saya berisi referensi javascript / css seperti: www.example.com/misc/jquery.js?v=1.4.4 atau www.example.com/sites/all/modules/nice_menus/css/nice_menus.css?mtu293, itu tampaknya tidak berfungsi untuk file seperti itu. Apakah sudah diperbarui hari ini?
AgA
2
@JohnConde Mengapa kedaluwarsa dan header? Juga, ketika memperbarui gambar atau css misalnya, apakah file perlu diganti namanya? Atau untuk file css versi kerjanya: test.css? 123?
riseagainst
14
Anda dapat meletakkan ini di htaccess Anda:
<FilesMatch"(?i)^.*\.(ico|flv|jpg|jpeg|png|gif|js|css)$">
ExpiresActive On
ExpiresDefault A2592000
</FilesMatch>
Ini akan menargetkan file dengan ekstensi tersebut (ico, flv, jpg, dan sebagainya) dan mengatur header Kedaluwarsa menjadi waktu akses (A) ditambah 30 hari (2592000 detik). Anda juga dapat menambahkan ini di tingkat server jika Anda memiliki akses ke sana.
Itu tergantung dari tuan rumah dan cara Anda server hal-hal ini. Opsi 1) jika Anda mengontrol server, buat apache untuk menambahkan header kedaluwarsa dalam Opsi jawaban 2) jika Anda tidak mengontrol server web, atau Anda server gambar / js / css / etc Anda dapat mengatur header ini dari script yang server mereka
Ingatlah bahwa petunjuk ini direkomendasikan tetapi bukan kebenaran absolut. Mereka lebih menghemat bandwidth daripada mempercepat situs web Anda. Jadi jika Anda memiliki traffic rendah ke situs Anda jangan terlalu khawatir tentang hal ini.
Saya dengan opsi 2. Bagaimana cara mengatur header ini dari skrip. Script artinya php atau yang mana?
KoolKabin
Anda dapat memeriksa stackoverflow.com/questions/2185449/... ini adalah contoh python tetapi jika Anda terbiasa dengan pemrograman saya pikir Anda akan mendapatkan ide. Di php Anda harus menggunakan header (). Tetapi perlu diingat bahwa dalam hal ini semua file "statis" harus dilayani melalui skrip yang akan meningkatkan kuota CPU Anda. Sekarang saya sadar bahwa ada opsi ke-3. Gunakan CDN untuk file-file ini.
Ilian Iliev
2
Menyiapkan kedaluwarsa di Lightspeed Web Server
Masuk ke Konsol Admin lalu> Server-> Umum-> Pengaturan Kedaluwarsa-> Kedaluwarsa Menurut Jenis
604800 adalah detik kedaluwarsa, yang harus sesuai dengan kebutuhan Anda sejak 168 jam yaitu 7 hari. Selain itu, Light Speed Server tidak menggunakan htaccess yang perlu Anda tambahkan baris berikut:
ExpiresActiveOn
Atau jika Anda tidak memiliki akses konsol admin coba ikuti file .htaccess berikut:
Anda dapat meletakkan ini di htaccess Anda:
Ini akan menargetkan file dengan ekstensi tersebut (ico, flv, jpg, dan sebagainya) dan mengatur header Kedaluwarsa menjadi waktu akses (A) ditambah 30 hari (2592000 detik). Anda juga dapat menambahkan ini di tingkat server jika Anda memiliki akses ke sana.
sumber
Itu tergantung dari tuan rumah dan cara Anda server hal-hal ini. Opsi 1) jika Anda mengontrol server, buat apache untuk menambahkan header kedaluwarsa dalam Opsi jawaban 2) jika Anda tidak mengontrol server web, atau Anda server gambar / js / css / etc Anda dapat mengatur header ini dari script yang server mereka
Ingatlah bahwa petunjuk ini direkomendasikan tetapi bukan kebenaran absolut. Mereka lebih menghemat bandwidth daripada mempercepat situs web Anda. Jadi jika Anda memiliki traffic rendah ke situs Anda jangan terlalu khawatir tentang hal ini.
sumber
Menyiapkan kedaluwarsa di Lightspeed Web Server
Masuk ke Konsol Admin lalu> Server-> Umum-> Pengaturan Kedaluwarsa-> Kedaluwarsa Menurut Jenis
Tambahkan yang berikut ini:
604800 adalah detik kedaluwarsa, yang harus sesuai dengan kebutuhan Anda sejak 168 jam yaitu 7 hari. Selain itu, Light Speed Server tidak menggunakan htaccess yang perlu Anda tambahkan baris berikut:
Atau jika Anda tidak memiliki akses konsol admin coba ikuti file .htaccess berikut:
sumber