.htaccess ile Yapılabilecekler Kullanışlı İpuçları

.htaccess (Hypertext Access dosyası) dosyaları Apache sunucusu üzerinde çok güçlü bir yapılandırma aracıdır. Sunucuyu optimize edebilecek bir dizi işlevleri vardır. Bu .htaccess dosyası basit bir metin dosyasından oluşan sitenizin kök dizinine yerleştirilen bir dosyadır. .htaccess dosyasını not defteri gibi bir metin editörü kullanarak düzenleyebilirsiniz.

Bu yazıda .htaccess dosyası ile yapılabilecek bazı yararlı ipuçlarını bulacaksınız.
Güçlü bir yapılandırmaya sahip olduğu için küçük bir hata sunucuda büyük bir hataya sebep olabilir. Bu nedenle her zaman .htaccess dosyası ile çalışırken olası problemleri önlemek için önce sunucudaki tüm dosyaların yedeğini alın.

1. .htaccess ile Özel Hata Sayfaları Oluşturmak
Linux apache sunucuda özel hata sayfası yapmak .htaccess ile gayet kolaydır. Özel hata sayfaları web sitenize profesyonel bir görünüm kazandırır ve sayfalardaki geri bağlantılarla ziyaretçiyi gerekli yerlere yönlendirmenizi sağlar.

ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php

2. Sunucunun zaman dilimini .htaccess ile kontrol etmek

SetEnv Europe/Istanbul

3. .htaccess kullanarak IP bloklamak
Bazen bazı IPlerin sitenize girmemesini isteyebilirsiniz. Bunu yapmak .htaccess ile çok basittir dosyanın içine aşağıdaki kodu yapıştırın.

allow from all
deny from 145.186.14.122
deny from 124.15

4. SEO Dostu 301 eski bağlantılar ve taşındı link yönlendirmeleri

Redirect 301 /d/file.html http://www.htaccesselite.com/r/file.html

5. Sunucu Yönetici için e-posta adresi ayarlayın.
Dunucu yöneticisi için varsayılan e-posta adresinizi belirtmek için bu kodu kullanabilirsiniz.

ServerSignature EMail
SetEnv SERVER_ADMIN default@domain.com

6. Hotlink koruması
Sitemizi içeriğimize direk link verilerek alınmasını bir nebze olsun engelelmek adına piyasada en sık kullanılan yöntem hotlinktir.

Options +FollowSymlinks
# Protect Hotlinking
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?domainname.com/ [nc]
RewriteRule .*.(gif|jpg|png)$ http://domainname.com/img/hotlink_f_o.png [nc]

7. User agent isteklerini blokla
.htaccess dosyanız ile istenmeyen kullanıcı yüklenmelerini bloklayarak sunucunuzun kilitlenmesini engelleyebilirsiniz..

## .htaccess Code :: BEGIN
## Block Bad Bots by user-Agent
SetEnvIfNoCase user-Agent ^FrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Java.* [NC,OR]
SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR]
SetEnvIfNoCase user-Agent ^MSFrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR]
SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR]
SetEnvIfNoCase user-Agent ^Zeus [NC]
Order Allow,Deny
Allow from all
Deny from env=bad_bot
## .htaccess Code :: END

8. Bazı özel IP’ler dışındaki tüm girişleri başka bir adrese yönlendirmek.
Eğer tüm girişleri başka bir IP’ye yönlendirmek ve bir kaç IP’ye giriş izni vermek istiyorsanız aşağıdaki kodu kullanabilirsiniz…

ErrorDocument 403 http://www.domain.com
Order deny,allow
Deny from all
Allow from 124.34.48.165
Allow from 102.54.68.123

9. İndirme isteği göstermemek için
Bir yerden bir şey indirmek istediğinizde genelde dosyayı kaydetmek istiyorum açmak istiyorum şeklinde bir istek oluşturulur. Bunu engellemek için aşağıdaki kodu kullanabilirsiniz…

AddType application/octet-stream .pdf
AddType application/octet-stream .zip
AddType application/octet-stream .mov

10. Dosya Türünü değiştirmek
Bu kod ile sunucunuzda erişilen bölgelerin uzantısını değiştirebilirsiniz.


ForceType application/x-httpd-php
SetHandler application/x-httpd-php

11. .htaccess dosyanıza erişimi engelleyin.
Aşağıdaki kodla .htaccess dosyanıza erişimi engellemiş olursunuz. Bu güvenlik ile erişmek isteyenler 403 hata mesajıyla karşılaşacaktırlar.

# secure htaccess file

 order allow,deny
 deny from all

12. Sunucunuzda bazı belirli dosyalara erişim engelleyin
Bu, aşağıda belirtilen kod ekleyerek yapılabilir. Örneğin adı default.jpg olan dosyaya erişimi engellemek istiyorum. Bu kod ile dosyanın görüntülenmesini engelleyebilirsiniz.

# prevent access of a certain file

 order allow,deny
 deny from all

13. Yetkisiz tarama erişimini engellemek.
Klasörünüz içinde index sayfanız yoksa bu kodla erişimi engelleyebilirsiniz.

# disable directory browsing
Options All -Indexes

14. Varsayılan giriş sayfasını ayarlama
Sitenizin varsayılan giriş sayfasını giris.html gibi bir sayfaya ayarlamak istiyorsanız aşağıdaki kodu kullanın.

# serve alternate default index page
DirectoryIndex about.html

15. Klasör ve dosyalarınız için şifre koruması.

# to protect a file

AuthType Basic
AuthName “Prompt”
AuthUserFile /home/path/.htpasswd
Require valid-user

# password-protect a directory
resides
AuthType basic
AuthName “This directory is protected”
AuthUserFile /home/path/.htpasswd
AuthGroupFile /dev/null
Require valid-user

16. Eski domaini yeni domaine yönlendirme
Aşağıdaki kodu .htaccess dosyanıza ekleyerek eski domaininizi yeni domaininize yönlendirebilirsiniz.

# redirect from old domain to new domain
RewriteEngine On
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=301,L]

Yunus Ertürk

Uzun süre kurumsal firmalarda web tasarımı ve dijital pazarlama üzerine çalıştıktan sonra aktif iş yaşantısını freelance olarak sürdürmekte. Dijital pazarlama, sosyal medya, görsel sanatlar seveni ve araştırmacısı.

Twitter ya da facebook üzerinden ulaşabilirsiniz.

Leave a Reply