Tavsiyelerinizi ekledikçe mesajı güncelleyeceğim
.htaccess dosyasını genellikle sef için kullanırız ama sitenin bir çok ayarını değiştirebilir.
Sunucu bazında değiştiremediğimiz ayarları o site için değiştirebiliriz.
İlk olarak örneğin upload klasörümüzde diyelim php dosyası öyle böyle yüklendi, onun çalışmasını engellemek için
deny from all
<Files ~ "^\w+\.(gif|jpe?g|png|swf)$">
order deny,allow
allow from all
</Files>
eklersek o klasörde sadece jpg,jpeg,png,gif ve swf dosyaları çalışır
php_flag register_globals off
php_flag magic_quotes_gpc on (php 6 da çalışmayacak)
register_globals güvenlik açığıdır,sunucu açsa bile bu sayede kapatabilirsiniz
ikinci satır ise post ve getten gelen verileri otomatik addslashed yapar,güvenlik için önemli
DirectoryIndex Default.php index.php
//açılış sayfamızı bu şekilde tayin ederiz Default.php yoksa index.php açar
ErrorDocument 404 /404.php
//hata sayfalarımızı bu şekilde tayin ederiz olmayan birşey arandığında 404.php adlı sayfa açılır hata sayfaları çoğaltılabilir 500 403 401 400 vs
aklıma geldikçe yazarım konu altına
resim,flash,javascript,css dosyalarını uzun süre kullanıcı tarafında kalmasını sağlayabiliriz (expires)
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/png A1555200
ExpiresByType text/javascript A1555200
ExpiresByType image/jpeg A1555200
ExpiresByType image/gif A1555200
ExpiresByType text/css A1555200
ExpiresByType image/x-png A1555200
ExpiresByType application/x-javascript A1555200
</IfModule>
301 yönlendirme
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.tr.site.com/$ [NC]
RewriteRule ^(.*)$ http://www.site.com/$1 [L,R=301] Options -Indexes +FollowSymLinks
klasör içinde index dosyası yoksa klasörlere dışardan erişimi engeller
Diyelim ki sunucunun varsayılan karakteri ile sizinki uymuyor, bu durumda her dosya için karakter seti ayarı yapmak yerine .htaccess ile tam çözüm yapılır
AddDefaultCharset UTF-8
Sadece php uzantılar içinse
AddDefaultCharset UTF-8 .php