• 24-07-2020, 18:08:54
    #1
    Apache başta olmak üzere birçok ağ tabanlı sunucular üzerinden .htaccess dosyası ile bir takım ayarlamalar yapılabilmektedir. Bu yazıda ise izlere .htacces kodları ve .htaccess kullanımı ile ilgili detaylı bilgi vermeye çalışacağım. .htaccess dosyasına ekleyeceğiniz kodlar/komutlar bulunduğu klasördeki tüm dosyaları etkiler. .htaacces dosyası yok ise çok kolay bir şekilde yeni bir dosya oluşturup; adını sadece '.htaccess' yapmanız yeterlidir.

    1. Klasörlere Erişim
    Herhangi bir klasör için, kullanıcıların erişimlerini sınırlandırmak yani engellemek isterseniz klasörün içine bir .htaccess dosyası oluşturup, içeriğine ise:

    #deny all access
    deny from all
    komutlarını eklemeniz yeterli olacaktır. Bu klasöre sadece belirlediğiniz IP adresiyle ya da IP bloğu tarafından erişim sağlamasını istiyorsanız;

    #deny all access
    deny from all
    allow from 10.0.0.1 # tek ip adresi
    allow from 192.168.0.0/24 # ip bloğu
    komutlarını eklemeniz yeterli olacaktır. O klasörde bulunan sadece bir tek dosya için erişimi engellemek için eklemeniz gereken komut:

    <Files dosyaadi.html>
    Order allow,deny
    Deny from all
    </Files>
    2. Dosyaları Gizlemek
    Örnek verecek olursak konfigürasyon dosyalarının içine, robot.txt ya da log’lara erişimi engellemek istiyorsanız aşağıdaki örnek tabloda yer alan .ht ile başlayan dosyalara erişimi engelleme yöntemidir.

    <Files ~ “^\.ht”>
    Order allow,deny
    Deny from all
    Satisfy All
    </Files>
    3. Özel HTTP 404 Hata Sayfası
    Eğer default bir 404 sayfası yerine farklı olarak kendi oluşturduğunuz veya kullanıcıların yönlenmesini istediğiniz bir hata sayfası varsa bu sayfaya kullanıcıları yönlendirmek için aşağıdaki kodu eklemeniz yeterlidir. 'notfound.html' dosyasını kendinize göre değiştirebilirsiniz.

    ErrorDocument 404 /errors/notfound.html
    Bunu kullanarak hata kodlarınızı da özelleştirebilirsiniz. Dikkat! İnternet Explorer 512 bayttan daha küçük bir hata sayfası ile karşılaştığınız zaman, MSN search gibi bağlantıların yer aldığı kendi hata sayfasını ziyaretçiye göstermektedir. Belirtmiş olduğunuz hata sayfasının 512 bayttan büyük olduğuna kesinlikle emin olun.

    4. no-www Yönlendirme
    Eğer siet adresinizde www'siz sürümün kullanılmasına kullanıcıları ve arama motoru robotlarını zorlamak istiyorsanız bu kodu .htaccess dosyasına eklemeniz gerekir;

    <IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine on
    RewriteCond %{http_host} ^www\.example\.com[nc]
    RewriteRule ^(.*)$ http://example.com/$1 [r=301,nc]
    </ifModule>
    5. Kötü Botları Engelleme
    Kötü botları engellemek için .htaccess dosyasına aşağıdaki kodları eklemeniz yeterlidir;

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR]
    RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]
    RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR]
    RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR]
    RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR]
    RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]
    RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR]
    RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR]
    RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR]
    RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR]
    RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR]
    RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR]
    RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR]
    RewriteCond %{HTTP_USER_AGENT} ^HMView [OR]
    RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR]
    RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR]
    RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR]
    RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR]
    RewriteCond %{HTTP_USER_AGENT} ^larbin [OR]
    RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR]
    RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR]
    RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR]
    RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR]
    RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR]
    RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR]
    RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR]
    RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR]
    RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR]
    RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR]
    RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR]
    RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR]
    RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR]
    RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR]
    RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR]
    RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR]
    RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Wget [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Widow [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Zeus
    RewriteRule .* - [F]
    </ifModule>
    6. 301 Yönlendirme .htaccess Kodu
    Eski sayfanızı tamamen farklı bir yeni sayfaya 301 yöntemi ile yönlendirmek için aşağıdaki kodu eklemeniz yeterlidir.

    Redirect 301 /eski-sayfa.html /yeni-sayfa.html
    301 yönlendirmesi ile www'siz sürümü www'li sürüme yönlendirmek için;

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^siteadresi.com [NC]
    RewriteRule ^(.*)$ http://www.siteadresi.com/$1 [L,R=301,NC]
    301 yönlendirmesi ile www'li sürümü www'siz sürüme yönlendirmek için;

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^www.siteadresi.com [NC]
    RewriteRule ^(.*)$ http://siteadresi.com/$1 [L,R=301,NC]
    301 ile alan adını değiştirerek yönlendirmek için;

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^eskisite.com [NC,OR]
    RewriteCond %{HTTP_HOST} ^www.eskisite.com [NC]
    RewriteRule ^(.*)$ http://yenisite.com/$1 [L,R=301,NC]
  • 24-07-2020, 18:15:23
    #2
    Bu Konu ile İlgi Çok Bilgilendirici Olmuş Çoğu Kişinin İşine Yarayacaktır.
  • 24-07-2020, 18:21:15
    #3
    Faydalı bilgiler için teşekkürler. F12 ye basıldığında gizlemek için 1.madde mi kullanılmalı ?
  • 24-07-2020, 18:34:34
    #5
    + ihs'den de yararlanıldı içerik oluşturulurken.
  • 24-07-2020, 18:59:20
    #6
    Belirlenen ip bloğunu taklit ederek erişim sağlanabilir mi?
  • 24-07-2020, 22:50:57
    #7
    Üyeliği durduruldu
    Faydalı Bilgi teşekkürler Hocam.