CSS, JS ve Görüntüler için süre sonu başlıklarını nasıl ayarlarım?


38

Yakın zamanda web sitemi firebug'da pagespeed addon ile analiz ettim. CSS, JS ve resim dosyalarında son kullanma tarihini ayarlamamı önerdi.

Bunu nasıl yaparım acaba?

Yanıtlar:


37

Temel yapılandırmanızın bir parçası olarak aşağıdaki yönergeleri içerecek şekilde Apache yapılandırmanızı güncelleyin :

# 
# associate .js with "text/javascript" type (if not present in mime.conf)
# 
AddType text/javascript .js

# 
# configure mod_expires
# 
# URL: http://httpd.apache.org/docs/2.2/mod/mod_expires.html
# 
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 1 seconds"
    ExpiresByType image/x-icon "access plus 2692000 seconds"
    ExpiresByType image/jpeg "access plus 2692000 seconds"
    ExpiresByType image/png "access plus 2692000 seconds"
    ExpiresByType image/gif "access plus 2692000 seconds"
    ExpiresByType application/x-shockwave-flash "access plus 2692000 seconds"
    ExpiresByType text/css "access plus 2692000 seconds"
    ExpiresByType text/javascript "access plus 2692000 seconds"
    ExpiresByType application/x-javascript "access plus 2692000 seconds"
    ExpiresByType text/html "access plus 600 seconds"
    ExpiresByType application/xhtml+xml "access plus 600 seconds"
</IfModule>

# 
# configure mod_headers
# 
# URL: http://httpd.apache.org/docs/2.2/mod/mod_headers.html
# 
<IfModule mod_headers.c>
    <FilesMatch "\\.(ico|jpe?g|png|gif|swf|css|js)$">
        Header set Cache-Control "max-age=2692000, public"
    </FilesMatch>
    <FilesMatch "\\.(x?html?|php)$">
        Header set Cache-Control "max-age=600, private, must-revalidate"
    </FilesMatch>
    Header unset ETag
    Header unset Last-Modified
</IfModule>

.Htaccess
dosyama

Apache kurulumunuz yukarıda listelenen seçeneklerin tümünü desteklemeyebilir. Bu sorunu çözmek için kısa sürede bu cevabı güncelleyeceğim.
John Conde

Drupal'im şunun gibi javascript / css referansları içeriyor: www.example.com/misc/jquery.js?v=1.4.4 veya www.example.com/sites/all/modules/nice_menus/css/nice_menus.css?mtu293 bu tür dosyalar için işe görünmüyor. Bugün itibariyle güncellendi mi?
AgA

2
@JohnConde Neden zaman aşımına uğradı? Ayrıca, örneğin bir görüntüyü veya css'i güncellerken, dosyanın yeniden adlandırılması gerekiyor mu? Veya bir css dosyası için versiyonlama çalışır: test.css? 123?
14'te

14

Bunu htaccess'inize koyabilirsiniz:

<FilesMatch "(?i)^.*\.(ico|flv|jpg|jpeg|png|gif|js|css)$">
ExpiresActive On
ExpiresDefault A2592000
</FilesMatch>

Bu uzantılara sahip dosyaları (ico, flv, jpg vb.) Hedefler ve sona erme başlığını erişim süresi (A) artı 30 gün (2592000 saniye) olacak şekilde ayarlar. Buna erişiminiz varsa, bunu sunucu düzeyinde de ekleyebilirsiniz.


2

Bu sunucuya ve bu şeyleri sunucu yoluna bağlıdır. Seçenek 1) sunucuyu kontrol ediyorsanız, yanıtı son kullanma başlıkları eklemek için apache yapın Seçenek 2) web sunucusunu kontrol etmezseniz veya / js / css / etc görüntülerini sunucuya yerleştirirseniz, bu başlıkları komut dosyasından ayarlayabilirsiniz. sunucu onları

Bu ipuçlarının önerilebilir olduğunu ancak mutlak gerçek olmadığını aklınızda bulundurun. Web sitenizi hızlandırmaktan çok size bir bant genişliği kazandıracaklardır. Yani sitenize trafik azsa bu konuda fazla endişelenmeyin.


Ben seçenek 2 ile yaşıyorum. Bu başlıkları komut dosyasından nasıl ayarlayabilirim. Senaryo php veya hangisi anlamına gelir?
KoolKabin

Stackoverflow.com/questions/2185449/… adresinden denetleyebilirsiniz. Php'de başlıkları kullanmak zorunda kalacaksınız (). Ancak, bu durumda tüm "statik" dosyaların CPU kotanızı artıracak olan komut dosyası aracılığıyla sunulması gerektiğini unutmayın. Şimdi bana geliyor ki 3. seçenek var. Bu dosyalar için CDN kullanın.
Ilian Iliev

2

Lightspeed Web Sunucusu'nda kurulum süresi doluyor

Yönetici Konsolu'na giriş yapın ve ardından> Sunucu-> Genel-> Ayarları Sona Erdi-> Sona Erme Süresi

Aşağıdakileri ekleyin:

text/css=A604800, text/javascript=A604800, application/javascript=A604800, application/x-javascript=A604800, application/x-shockwave-flash=A604800, image/gif=A604800, image/jpg=A604800, image/jpeg=A604800, image/png=A604800, image/ico=A604800, image/icon=A604800

604800 , 7 gün olan 168 saatinden beri ihtiyaçlarınız için uygun olması gereken sona erme süresidir . Ek olarak, Light Speed ​​Server, aşağıdaki satırı eklemeniz gereken bir htaccess kullanmaktadır:

ExpiresActive On

Alternatif olarak, yönetici konsolu erişiminiz yoksa, aşağıdaki .htaccess dosyasını deneyin:

  ExpiresByType image/png A604800
  ExpiresByType image/gif A604800
  ExpiresByType image/jpg A604800
  ExpiresByType image/jpeg A604800
  ExpiresByType text/javascript A604800
  ExpiresByType application/x-javascript A604800
  ExpiresByType text/css A604800
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.