Bilinmesi gereken .htaccess ipuçları

Bilinmesi gereken .htaccess ipuçları
Eğer web programlama ile ilgileniyorsanız .htaccess ile neler yapılabileceğini de biliyorsunuzdur. İşte size .htaccess ile ilgili kısa kısa bilgiler;

Ö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