Total Users Online: 0 üye, 483 guest | Tarih/Saat: 2026-08-27 04:07
 
.htaccess kullanımı, bazı örnek komutlar ve ipuçları.
2010-09-15 02:20 GMT  oklu Alnt
Kaan

User is: Online status   Gender_M
Posts: 2772
Ülke: İstanbul - 34
Meslek: Serbest Meslek
Age: 43

.htaccess kullan?m?, baz? ?rnek komutlar ve ipu?lar?.

htaccess dosyas?nda birka? de?i?iklik yaparak Linux Web Hosting ?zerindeki sitenizde gizli klas?rler olu?turabilece?inizi, hotlinking’i (direk dosya eri?imi) engelleyebilece?inizi, hatta zararl? bot’lardan bile korunabilirsiniz.
.htaccess dosyas?na girece?iniz direktiler, .htaccess dosyas?n?n bulundu?u dizini ve alt?ndakileri de etkiler. Bu y?zden .htaccess dosyas?n? olu?turdu?unuz dizine dikkat etmeniz gerekir. ?rne?in uyeler/ klas?r?n? ?ifrelemek i?in .htaccess dosyas?n? uyeler klas?r? i?erisinde de?ilde, ana dizinde yani public_html dizini i?erisinde olu?turursan?z, sitenize ilk giri?de parola ekran? gelecektir. ?ifreleme i?lemini kontrol panelinden de yapabilece?inizi unutmay?n.

.htaccess (Hypertext Access), Apache’nin klas?r d?zeyinde ayarlara izin veren, genel ayar dosyas?ndaki direktifleri ?zelle?tirebilen dosyad?r.

Ftp ba?lant?s? kurarak yeni bir dosya olu?turup, ad?n? ".htaccess" yapman?z ve i?erisine direktifleri girmeniz yeterli olacakt?r. A?a??da baz? uygulama ?rnekleri verilmi?tir.

1. Klas?rlere Eri?im
Bir klas?re t?m eri?imi engellemek istiyorsan?z (mesela program kaynak kodlar?n?z? bar?nd?ran bir klas?r?n?z olabilir; bu durumda klas?re internetten de?il, yaln?zca dosya sisteminden eri?meyi isteyebilirsiniz) klas?r?n i?inde .htaccess dosyas? olu?turup i?ine:

Kod:
#deny all access
deny from all

yazman?z yeterli.

E?er bu klas?re yaln?zca belirledi?iniz ip adresiyle veya ip blo?u taraf?ndan eri?ilmesini istiyorsan?z:

Kod:
#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

yazman?z yeterli.

Tek bir dosya i?in eri?imi engellemek i?in ise yazman?z gereken ?u:
Kod:
<Files private.html>
Order allow,deny
Deny from all
</Files>


2. Klas?r Listelemek
Bir klas?rdeki dosyalar?n listelenmesini istiyorsan?z .htaccess dosyas?na ?unlar? yazman?z gerekiyor:

Kod:
Options +Indexes +MultiViews +FollowSymlinks
<ifmodule mod_autoindex.c>
IndexOptions FancyIndexing
</ifmodule>


Klas?rdeki ?ntan?ml? listelemeyi iptal etmek i?in ise ?u sat?r yeterli:

Kod:
IndexIgnore *


3. S?k??t?rma
Sitenizin bant geni?li?ini (bandwidth) korumak i?in bir php ?zelli?i olan veri s?k??t?rmay? kullanabilirsiniz. .htaccess dosyas?na ?unu eklemelisiniz:

Kod:
<ifModule mod_php4.c>
php_value zlib.output_compression 16386
</ifModule>


4. Dosyalar? Gizlemek
Belirli dosyalara eri?imi engellemek i?in Files direktifiyle birlikte Regular Expression kullanabilirsiniz. ?rnek olarak konfig?rasyon dosyalar?na, robot.txt’e veya log’lara eri?imi engellemek isteyebilirsiniz. A?a??daki ?rnek klas?rdeki .ht ile ba?layan dosyalara eri?imi engellemektedir.

Kod:
<Files ~ “^\.ht”>
Order allow,deny
Deny from all
Satisfy All
</Files>


5. ?zel HTTP 404 Hata Sayfas?
Ziyaret?ileriniz “404: Sayfa Bulunamad?” hatas?yla kar??la?acaklar?nda sizin istedi?iniz bir dosyaya y?nlenmelerini sa?lamak i?in ?u kodu kullan?n:

Kod:
ErrorDocument 404 /errors/notfound.html


Bu ?ekilde di?er hata kodlar?n? da ?zelle?tirebilirsiniz. Dikkat! Internet Explorer 512 bayttan k???k hata sayfalar?yla kar??la?t???nda, MSN search gibi ba?lant?lar?n bulundu?u kendi hata sayfas?n? kullan?c?ya g?stermektedir. Belirtti?iniz hata sayfas?n?n 512B’tan b?y?k oldu?una emin olun.

6. Hotlinking’i Engellemek
Hotlinking basit?e sizin sitenizdeki bir resmi, videoyu ba?ka bir sitenin g?stermesine denir. Bu durumda olan sizin bandwidth’inize olur. ?rnek olarak sitenizin d???nda kullan?lan baz? dosyalara eri?imi engelleyip nohotlink.gif ad?nda bir resim dosyas? g?nderen ?u koda bakal?m:

Kod:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://([-a-z0-9]+\.)?siteniz\.com[NC]
RewriteRule .*\.(zip|mp3|avi|wmv|mpg|mpeg)$ http://www.siteniz.com/img/nohotlink.gif [R,NC,L]
</ifModule>


Kod basit?e siteniz.com d???ndan ?a??r?lan zip, mp3 ve baz? video dosyalar? yerine nohotlink.gif dosyas?n? g?steriyor. Dikkat! E?er resim hotlink’lerini engellerseniz site d???ndan istenen t?m resimleri engelleyeceksiniz. Bu durumda mesela feedburner gibi bir hizmet kullan?yorsan?z bu hizmet i?in kodunuzu de?i?tirmeniz gerekecektir.

7. K?t? Bot’lar? Engellemek
Sitenizi kullanan veya tamamen indirmek isteyen bot’lara kar?? .htaccess dosyas?n? kullanabilirsiniz:

Kod:
<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>


8. no-www Deste?i
Siz de sitelerde www subdomain’inin kullan?lmas?na kar??ysan?z bu kod i?inizi g?recektir:

Kod:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{http_host} ^www\.example\.com[nc]
RewriteRule ^(.*)$ http://example.com/$1 [r=301,nc]
</ifModule>


9. Hangi Dili Kulland???n?z? Saklamak
Dosyalar?n?z?n uzant?lar?n? de?i?tirip .htaccess dosyas?na bir kural ekleyerek hangi dili kulland???n?z? ziyaret?ilerinizden saklayabilirsiniz. A?a??daki ?rnek sayesinde .133t uzant?l? dosyalar PHP dosyalar? gibi i?lenecektir.

Kod:
# Make PHP code look like unknown types
AddType application/x-httpd-php .133t


10. De?i?ik ?pu?lar?
.htaccess dosyas?n? olabildi?ince k???k tutun. ??nk? her dosya iste?inde sunucu taraf?ndan kontrol edilirler.

.htaccess dosyas?n? d?zenli tutun. Kurallar artt?k?a dosyay? anlamas? zorla?acakt?r. # kullanarak her b?l?me a??klama yaz?n.

URL’i yeniden tan?mlad???n?z, bir ?nceki sayfaya y?nlenen kurallarda (Nohotlink ?rne?i gibi) [L] ?zelli?ini ekleyin. Bu sunucuya, ba?ka bir kural? uygulamamas?n? belirtir.

.htaccess kurallar?n?n alt klas?rlerde de ge?erli oldu?unu, alt klas?rdeki .htaccess kural?n?n ise ?zerindeki kurallar? de?i?tirebilece?ini d???n?n.

11. .htpasswd ile ?ifre Korumas?
?stedi?iniz dosya veya klas?rlere ?ifre eklemek i?in ?u ad?mlar? takip edin:
?ifrelemek istedi?iniz klas?rde .htpasswd dosyas? olu?turun.
Dosya i?eri?i kullan?c?ad?:?ifre tarz?ndad?r. Kullan?c? ad? d?z metindir. ?ifrenin ise ?ifrelenmi? olmas? gerekir. ?ifrenizi almak i?in ?u adresi kullanabilirsiniz.
Dosyay? kendi bilgisayar?n?zda olu?turup sunucuya upload ettiyseniz ASCII mode kulland???n?zdan emin olun.
?imdi .htaccess dosyan?z? d?zenleyin. Kural, d?zenledi?iniz dosyan?n bulundu?u klas?rde ve alt klas?rlerinde ge?erli olacakt?r:

Kod:
AuthUserFile /home/pathto/.htpasswd
AuthType Basic
AuthName “My Secret Folder”

<LIMIT GET POST>
require valid-user
</LIMIT>


Kural? tek dosya i?in olu?turmak istiyorsan?z kodu direktifi i?inde kullanmal?s?n?z.

.htaccess dosyan?z?n eri?ilebilir olmad???na emin olun. (bkz. 1. ba?l?k)

12. ?ntan?ml? Sayfay? De?i?tirmek
?ntan?ml? sayfa bilgisini a?a??daki ?ekilde, s?raya dikkat ederek de?i?tirebilirsiniz:

Kod:
DirectoryIndex home.html index.htm index.html index.php
Konuyla İlgili Diğer Başlıklar
Sayfa Hızınızı Arttırma İpuçları
.htaccess - Internal Server Error
Htaccess İle Seo Dostu Url Yapma
Sayfadaki bazı yazıları Google'dan saklamak
Google Link Kısaltma ve PHP'de kullanımı
Emlak, Oto Galeri, Rent A Car, ?iir, Edebiyat Script Sipari?lerinizi Verebilirsiniz.
Detaylar ??in: kaan@ntka.org

Seditio 170 ?ndir
Capte M?zik ?ndir
Seditio Toolbar ?ndir

 

Powered by Seditio © 2009-2012 All Rights Reserved