Css, JavaScript ve Resim Dosyalarında Tarayıcı Önbelleği

Bildiğiniz gibi tarayıcı bu dosyaları sürekli okumamak için önbelleğe alıyor.. Dosyalarda bir değişiklik yapsak bile, kullanıcının bunu görebilmesi için ya bir süre beklemesi gerekiyor ya da ctrl + shift + r ile önbelleği temizleyip yenilemesi gerekiyor.. Hal böyle olunca çoğu kullanıcı yaptığınız güncellemleri çok geç görüyor buda projede sorunlara yol açabiliyor.. Bu yüzden küçük bir hile yaparak bu sorunu çözebiliriz.. Normal şartlarda çağırdığımız css, js ya da resim dosyaları şu şekildedir;

<!-- Style -->
<link rel="stylesheet" href="/style.css" type="text/css" media="screen" />
<!-- Script -->
<script type="text/javascript" src="/script.js">
<!-- Resim -->
<img src="/resim.jpg" alt="" />

Şimdi bu kodları şöyle değiştirelim;

<!-- Style -->
<link rel="stylesheet" href="/style.css?v=1" type="text/css" media="screen" />
<!-- Script -->
<script type="text/javascript" src="/script.js?v=1">

<img src="/resim.jpg?v=1" alt="" />

Sonuna getirdiğimiz ?v=1 ifadesi illaha bu şekilde tanımlanmak zorunda değil.. Yani ?a=1 gibi de tanımlanabilir.. Ama bu çoğu sitenin kullandığı genel bir tanım olduğu için bende bu şekilde kullanıyorum.. Bir nevi versiyonu temsil ediyor 🙂 Böyle kaydettiğimizde, artık bu dosyalarda herhangi bir değişiklik yaptığımızda kullanıcı anlık olarak görecektir.

Güncelleme

Eğer bu şekilde doğru sonucu vermiyorsa php’nin time fonksiyonunu kullanabilirsiniz.

<!-- Style -->
<link rel="stylesheet" href="/style.css?v=" type="text/css" media="screen" />
<!-- Script -->
<script type="text/javascript" src="/script.js?v="></script>
<!-- Resim -->
<img src="/resim.jpg?v=" alt="" />

Htaccess ile WWW Kaldırma / Ekleme

Merhaba arkadaşlar, benim her zaman problem yaşadığım bir konudur bu.. Her projemde de bunu uygularım.. Örneğin site adresini www ile belirlemişimdir.. Ancak www olmadan girince de site açıldığı için, ajax dosyamın yolu www ile belirlendiği için ajax’lar çalışmaz.. Bazı sunucularda www ile giriş yapıp, www’süz siteyi açtığında sanki giriş yapmamış gibi gözükür vs.. Bu tür sorunların önüne geçmek için ya www ile girmesini sağlayacağız kullanıcının ya da hiç www kullanmadan girmesini.. Nasıl yaparız?

Eğer anadizinde bir htaccess dosyanız varsa onu açın ya da bir tane oluşturun ve şunları ekleyin;

RewriteEngine on
RewriteCond %{HTTP_HOST} ^siteadi\.com [NC]
RewriteRule ^(.*)$ http://www.siteadi.com/$1 [L,R=301]

Yukarıdaki örnekte, nasıl girerse girsin her zaman www olarak yönlenecek.. Örn: ogretiyor.com olarak girin sizi www.ogretiyor.com’a yönlendirdiğini görebilirsiniz..

Bunun tam tersini nasıl yaparız? Yani www ile girse bile www ekini kaldıracak.. O zaman kodu şöyle değiştiririz;

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.siteadi\.com [NC]
RewriteRule ^(.*)$ http://siteadi.com/$1 [L,R=301]

Evet artık böyle bir problemimiz kalmadı, kolay gelsin 🙂

Notepad++ Teması (xHTML/CSS)

Merhaba arkadaşlar, kod yazan çoğu kişi notepad++ programını bilir, muhtemelen sıkça da kullanır.. Bende sürekli olarak notepad++ programını kullanan biri olarak, hem farklı olacağını düşündüğüm için hemde o kadar emeği geçtiği için notepad++ temasını css’e aktardım 🙂 Şuan prototürk’de bu temayı kullanıyorum..

CSS halini sizlerle de paylaşıyorum.. İstek olursa DLE halini tamamen bitirdiğimde paylaşabilirim..

Ekran Görüntüleri;

Notepad++ Teması (xHTML/CSS)
Notepad++ Teması (xHTML/CSS)
Notepad++ Teması (xHTML/CSS)
Notepad++ Teması (xHTML/CSS)

Konu yanındaki – butonlarından kapanabiliyor.. Son yorumlarda draggable olduğu için, istediğiniz yere tutup sürükleyebiliyorsunuz.. Şimdilik bu kadar 🙂 Üst butonları süs olsun diye koydum, belki geliştirip v2 ile birlikte daha güzel bir şeyler yapabiliriz..

İndirin; (Github)
https://github.com/tayfunerbilen/notepad_plus_plus
(İndirmek için ZIP kısmına tıklamanız yeterlidir.)WordPress Entegresini yapacak duyarlı insanlar aranıyor 🙂 Eğer entegre yapan olursa, konu altında yorum olarak belirtirlerse konuda dahil edebiliriz, teşekkürler.