.htaccess Kullanımı ve Parametreleri

Uzman Yazar 7 Ekim 2011 00:27

Birçok arkadaşımız FTP hesaplarında gezerken .htaccess adında dosyalar görmüşlerdir.. Peki ama bu dosya nedir içersinde ne vardır bu dosya ne işe yarar.. İşte burada bunu size kısa ve pratik bir şekilde anlatmaya çalışacağım. Öncelikle belirtmeliyim ki bu dosya sadece Apache web serverı kullanan sunucularda çalışacaktır.

 .htaccess (Hypertext Access) Apachenin klasör ayarlarını yapılandıran düzenleyen dosyadır. İçersine girilen paremetreleri klasöre erişen kişilere uygular.

Klasörlere erişim ayarları ve düzenlemeleri: Kendinize özel bir klasörünüz olduğunu ve bu klasöre hiçbir şekilde hiçkimsenin erişmesini istemiyorsunuz.. Sadece FTP programları ile kendiniz erişip bilgileri kendiniz almak istiyorsanız yapmanız gereken hemen bir tane .htaccess adında bir dosya oluşturmak ve dosya içine

#deny all access
deny from all

yazmanız yeterli olacaktır. Bu klasöre sadece belirli bir ip adresinden veya ip aralığından erişilmesini istiyorsanız.

#deny all access
deny from all
allow from 10.0.0.1 # tek ip adresiniz
allow from 192.168.0.0/24 # ip bloğunuz

şeklinde yazmanız gerekecektir. Eğer bu klasörün içersinde size özel bir dosyaya erişimi engellemek istiyorsanız

<Files ozeldosyamız.html>
Order allow,deny
Deny from all
</Files>

şeklinde yazarak dosyamıza erişimi yasaklıyoruz.

Klasör Listelemek: Örneğin FTP gibi kullanmak istediğiniz bir klasör olsun ve bu klasörün içersindeki dosyaları listeletmek isterseniz yazmanız gereken kod

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

Sıkıştırma: Site trafiğini kontrol altında tutmak istiyorsanız veya seo ayarlarınız için sıkıştırma özelliğini aktiflemek istiyorsanız yazmanız gereken kod

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

Dosyalara erişimi engellemek: Sitemizdeki bazı dosyalara erişimi engellemek istiyorsak bu parametreler bizim için yeterli olacaktır. Örneğin sitemizdeki Linux adı ile başlayan dosyalara erişimi engellemek için yazmamız gereken kod

<Files ~ “^.Linux”>
Order allow,deny
Deny from all
Satisfy All
</Files>

 Özel 404 sayfaları oluşturmak: Sitemizde kullandığımız hatalı kodlardan veya yönlendirmelerden dolayı veya geçmişte kullanmış olduğumuz halen kullanmadığımız sayfaları sunucumuzdan sildiğimizde sitemiz sayfa bulunamadı diye hata vermektedir. İşte bu sayfaları tek tek tespit etmek yerine ekleyeceğimiz kodlar ile bu sayfalara istek yapıldığında otomatik olarak istediğimiz sayfaya yönlendirmeyi yapabiliriz.

ErrorDocument 404 /errors/notfound.html

Hotlinking engellemek için: Hotlinking sitemizdeki resimlerin videoların veya başka tüm dosyaların başka sitelerden çağrılması veya gösterilmesidir. Bunun bize zararı o sitelerde bu içerikler gösterildiğinde bizim trafiğimizin kullanılmasıdır. Böyle bir istek yapıldığında belirlediğimiz bir dosyanın gösterilmesi için eklememiz gereken kod

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://([-a-z0-9]+.)?linux.gen.tr[NC]
RewriteRule .*.(zip|mp3|avi|wmv|mpg|mpeg)$ https://www.uzmanyazar.com/images/hotlink.gif [R,NC,L]
</ifModule>

Kod basit olarak anlatırsak linux.gen.tr dışında hangi siteden çağrılırsa çağrılsın .zip .mp3 .avi .wmv .mpg .mpeg dosyalarının yerine belirlediğimiz hotlink.gif dosyasını göstermektedir. Burda dikkat etmemiz gereken nokta sitemizdeki resimleri erişime kapatma konusudur. Eğer resimleri erişime kapatırsak sosya medya sitelerinden erişim taleplerinde resimler görünmeyecektir. Ziyaretçinin mutlaka sitemize girmesi gerekecektir.

Botların erişimlerini yasaklamak: Sitemize gelen arama motoru botlarını istemiyorsak veya istemediğimiz bazı botların erişimini engellemek için eklememiz gereken kod

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot mailto:[email protected] [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>

Klasörü başka bir klasöre yönlendirmek veya sitemizi başka siteye yönlendirmek: Sitemizde ki bir klasöre erişimi komple başka klasöre yönlendirebiliriz veya sitemizi komple başka siteye yönlendirebiliriz. Bunun için eklememiz gereken kod

 

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) https://www.uzmanyazar.com/$1 [R=301,L]

 

Bu kodun anlamı örneğin http://www.sitemiz.com/linux.html adresine erişmeye çalışıldığında bu ziyaretçi otomatik olarak https://www.uzmanyazar.com/linux.html adresine yönlendirilir.

Arkadaşlar şimdilik anlatabileceklerimiz bu kadar… Eğer problem yaşıyorsanız yorum bölümünden yazarsanız kısa sürede yanıtlayıp size dönüş yapacağımıza emin olabilirsiniz…

.htaccess ayarları .htaccess kullanımı .htaccess parametreleri .htaccess yeniden yönlendirme .htaccess yönlendirme

Bir yanıt yazın

Yorumlar (0)

Bu yazıya ait yorum bulunamadı. İlk yorumu sen yapmak ister misin?