WordPress İçin .htaccess Ayarları

1 Yıldız2 Yıldız3 Yıldız4 Yıldız5 Yıldız (Oy Kullanılmamış)
Loading...
 

wordpress-logo

WordPress için en ideal ve güvenli .htacces dosyasının ayarları…

Bu dosyanın sitenizin ana dizininde bulunduğunu ve tam olarak ne işe yaradığını bilmiyor olabilirsiniz. Öncelikle .htaccess ne işe yarar ?

Neler yapabilir diye bakar isek genel olarak bu dosya sayesinde klasörleri şifreleyebilirsiniz, 404 sayfası oluşturabilir, bulunamadı sayfanızı ziyaretçilere istediğiniz gibi gösterebilirsiniz, URL Rewrite ile linkerinizi .html yapabilir, ve çeşitli yönlendirmeleri gerçekleştirebilirsiniz klasörleri listeleyebilir, erişimi engelleyebilir, şifreleyebilirsizin hatta gizleyebilirsiniz… Bunun yanında kötü olarak gördüğünüz botları engellemek içinde kullanılır yukarıdada belirttiğimiz gibi bu dosya kullanmayı bilir iseniz sizin hizmetinizde büyük rol oynayacak bir dosyadır…

1. Adım 1, boş bir .htaccess dosyası oluşturun. Bu adım Notepad++ ya da benzeri bir metin düzenleme programı kullanarak  yapılabilir.

2. htaccess dosyanıza içerik ekleyin. htaccess dosyanızı kaydettikten sonra dosyayı düzenlemeye ve ihtiyacınıza göre biçimlendirmeye başlayabilirsiniz.

Aşağıdaki örnek dosyada her komut grubunun ne anlama geldiği açıklanmıştır. İhtiyacınız olan grupları ya da hepsini kopyalayıp dosyanızın içine yapıştırın. Daha sonra dosyayı kaydederek sitenizin ana dizinine gönderin. Göndermeyi tamamlar tamamlamaz dosyanın sonundaki .txt uzantısını silin. Eğer dosyayı gönderdikten sonra sunucunuz hata verirse dosyadaki herhangi bir grup sunucunuzun ayarlarına uymuyor demektir. Hangi grubun bu hatayı verdiğini bulun ve silin.

# htaccess dosyanızı koruyun
<files .htaccess>
order allow,deny
deny from all
</files>
# sunucu imzanızı silin
ServerSignature Off
# dosya gönderme limiti 10mb
LimitRequestBody 10240000
# wpconfig.php dosyanızı koruyun
<files wp-config.php>
order allow,deny
deny from all
</files>
# sitenize kimin ulaşamayacağını ayarlayın- 000 yazan yerlere ip adresi girin
order allow,deny
deny from 000.000.000.000
allow from all
# kişiselleştirilmiş hata dosyaları tanımlayın
ErrorDocument 404 /notfound.php
ErrorDocument 403 /forbidden.php
ErrorDocument 500 /error.php
# klasör göstermeyi devre dışı bırakın
Options All -Indexes
# eski dosyanızı yenisine yönlendirin
Redirect 301 /eski.php http://www.alanadınız.com/yeni.php
# sitenizi tavsiye eden sitelerden istemediklerinizi bloke edin
RewriteEngine on
RewriteCond %{HTTP_REFERER} digg\.com [NC]
RewriteRule .* – [F]
# resimlerinizin çalınarak başka web sitelerinde gösterilmesini engelleyin. Son satırda resimleriniz çalınırsa gösterilmesini istediğiniz varsayılan bir resim tanımlayabilirsiniz
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?alanadınız.com/.*$ [NC]
#RewriteRule \.(gif|jpg)$ – [F]
#RewriteRule \.(gif|jpg)$ http://www.alanadınız.com/çalmakkötüdür.gif [R,L]
# php sıkıştırması kullanın – ileri düzey kullanıcılar için
<ifmodule mod_php4.c>
php_value zlib.output_compression 16386
</ifmodule>
# sitenizin ikiz (canonical) görüntü vermesini engelleyin
RewriteEngine On
RewriteCond %{HTTP_HOST} ^alanadınız\.com$ [NC]
RewriteRule ^(.*)$ http://www.alanadınız.com/$1 [R=301,L]
# istenmeyen yorumları engelleyin
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*alanadınız.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
#dosyalarınızın geçerlilik süresini tanımlayın
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 216000 seconds"
ExpiresByType application/x-javascript "access plus 216000 seconds"
</ifModule>
<ifModule mod_headers.c>
<filesMatch "\\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<filesMatch "\\.(css)$">
Header set Cache-Control "max-age=604800, public"
</filesMatch>
<filesMatch "\\.(js)$">
Header set Cache-Control "max-age=216000, private"
</filesMatch>
<filesMatch "\\.(xml|txt)$">
Header set Cache-Control "max-age=216000, public, must-revalidate"
</filesMatch>
<filesMatch "\\.(html|htm|php)$">
Header set Cache-Control "max-age=1, private, must-revalidate"
</filesMatch>
</ifModule>
# kötü amaçlı botları uzaklaştırın
<IfModule mod_rewrite.c>
SetEnvIfNoCase ^User-Agent$ .*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures) HTTP_SAFE_BADBOT
SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT
Deny from env=HTTP_SAFE_BADBOT
</ifModule>
# dosyalarınızın sıkıştırılmış versiyonlarını gönderin –orijinal dosyalarınızın yanında .gz uzantılı sıkıştırılmış versiyonlarını yerleştirmeniz gerekmektedir. 7-zip programı ile halledebilirsiniz.
<files *.js.gz>
AddType "text/javascript" .gz
AddEncoding gzip .gz
</files>
<files *.css.gz>
AddType "text/css" .gz
AddEncoding gzip .gz
</files>
<files *.tff.gz>
AddType "font" .gz
AddEncoding gzip .gz
</files>
<files *.eot.gz>
AddType "font/eot" .gz
AddEncoding gzip .gz
</files>
RewriteEngine on
#Check to see if browser can accept gzip files.
ReWriteCond %{HTTP:accept-encoding} gzip
RewriteCond %{HTTP_USER_AGENT} !Safari
#make sure there's no trailing .gz on the url
ReWriteCond %{REQUEST_FILENAME} !^.+\.gz$
#check to see if a .gz version of the file exists.
RewriteCond %{REQUEST_FILENAME}.gz -f
#All conditions met so add .gz to URL filename (invisibly)
RewriteRule ^(.+) $1.gz [QSA,L]
 

Yorum Yapın