.htaccess kullanımı, bazı örnek komutlar ve ipuçları.
|
#3502 |
|
|
Kaan
User is:
Posts: 2772
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 |
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 |













