Bilinmesi gereken .htaccess ipuçları
Öncelikle burada anlatmaya çalıştığımız düzenlemeleri yapmadan .htaccess dosyanızın bir yedeğini alın.
Adres'ten www kaldırmak
SEO veya başka sebepler ile web sitenizi www olmadan kullanmak isterseniz aşağıdaki kod ile www li adresi www'siz adrese yölendirebilirsiniz. Örnek vermek gerekirse; www.e-nokta.org adresine gelen tüm ziyaretleri otomatik olarak e-nokta.org adresine yönlendirmek için aşağıdaki kodu kullanabilirsiniz.
RewriteEngine On
RewriteCond %{HTTP_HOST} !^your-site.com$ [NC]
RewriteRule ^(.*)$ http://your-site.com/$1 [L,R=301]
Hotlinking'i engellemek
Kötü niyetli bazı kullanıcılar sizin sitenizi kendi sitesine referans olarak gösterebilir, bu hem sizin için iyi bir durum olmaz hem de o kişi sizin web trafiğinizi kullanmış olur. Hotlinking'i önlemek için aşağıdaki kodu .htaccess dosyanıza yazın.
RewriteEngine On
#Replace ?mysite\.com/ with your blog url
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
#Replace /images/nohotlink.jpg with your "don't hotlink" image url
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]
Özel hata sayfalarına yönlendirme
.htaccess ile web sitenizin hata sayfalarını özel olarak tasarladığınız başka sayfalara yönlendirebilirsiniz. Web sitenizin kök (root) dizininde errors adından bir klasör oluşturun ve özel hata sayfalarını bu klasör içinde oluşturun. .htaccess dosyanıza aşağıdaki kodu yazarak özel hata sayfalarına yönlendirme yapabilirsiniz.
ErrorDocument 400 /errors/badrequest.html
ErrorDocument 401 /errors/authreqd.html
ErrorDocument 403 /errors/forbid.html
ErrorDocument 404 /errors/notfound.html
ErrorDocument 500 /errors/serverr.html
Bazı dosyaların download edilmesi
Web sitenizdeki bazı dosyaların tarayıcı tarafından açılmak yerine download edilmesini sağlamak için aşağıdaki kodu kullanabilirsiniz. Aşağıdaki örnekte pdf ve eps dosyaların tarayıcıda açılmak yerine download edilmesi sağlanmıştır.
<Files *.pdf>
ForceType application/octet-stream
Header set Content-Disposition attachment
</Files>
<Files *.eps>
ForceType application/octet-stream
Header set Content-Disposition attachment
</Files>
URL'deki dosya uzantılarını kaldırmak
Dosya uzantıları web geliştiriciler için anlamlı olmakla beraber son kullanıcı için hiçbir anlam ifade etmez, .htaccess ile dosya uzantılarını kaldırabilirsiniz.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
# Replace html with your file extension, eg: php, htm, asp
Dosya ve dizin listelerini gizleme
Apache varsayılan olarak eğer kök dizinde index.html gibi sitenin ana dosyasını bulamazsa listeleri ve dizinleri gösterir, bazı durumlarda bu güvenlik açıklarına sebep olabilir, aşağıdaki kod ile dosya ve dizinlerin listlenmesini engelleyebilirsiniz.
Options -Indexes
Doyaları UTF-8 olarak gösterme
Encoding her zaman programcılar için sorun olmuştur, .htaccess ile dosyalarınızın UTF-8 olarak işlenmesini sağlayabilirsiniz.UTF-8 yerine ISO-8859-9 gibi farklı karakter kodları için de bu örneği kullanabilirsiniz.
<FilesMatch "\.(htm|html|css|js)$">
AddDefaultCharset UTF-8
</FilesMatch>

Yeni yorum ekle