Menü

Htaccess Kullanım Örnekleri

Htaccess Apache tarafından kullanılan hypertext get right of entry to dosyasının okısaltılmış advertı. Host üzerinde konfigürasyon modifikasyonları yapılmasını sağlar diye tanımlanır okayısaca.

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

Bu ve diğer eleven kod konumuzun devamındadır…

 

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 get right of entry to
deny from all
allow from 10.0.zero.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:

<files private.html>
Order enable,deny
Deny from all
</recordsdata>

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>

Bunun için sunucunuzda autoindex modülünün yüklü olması gerekiyor. 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ıokış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 common Expression kullanabilirsiniz. Örnek olarak konfigürasyon dosyalarına, robotic.txt’e veya log’lara erişimi engellemek isteyebilirsiniz. Aşağıdaki örnek klasördeki .ht ile başlayan dosyalara erişimi engellemektedir.

Kod:
<information ~ “^.ht”>
Order allow,deny
Deny from all
satisfy All
</information>

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 /error/notfound.html

Bu şekilde diğer hata kodlarını da özelleştirebilirsiniz. Dikkat! web Explorer 512 bayttan küçüok 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 advertında bir resim dosyası gönderen şu koda bakalım:

Kod:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %HTTP_REFERER !^$
RewriteCond %HTTP_REFERERwmvsite 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. 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.instance.com[nc] RewriteRule ^(.*)$ http://example.com/$1 [r=301,nc] </ifModule>

8. 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:
AddType utility/x-httpd-php .133t

9. Değişik İpuçları
.htaccess dosyasını olabildiğince okayüçüokay 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.

10. .htpasswd ile Şifre Koruması

İstediğiniz dosya veya klasörlere şifre eklemek için şu advertı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 /residence/pathto/.htpasswd
AuthType general
AuthName “My Secret Folder”
<limit GET put up>
require valid-person
</restrict>

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ıok)

eleven. Öntanımlı Sayfayı Değiştirmek

Öntanımlı sayfa bilgisini aşağıdaki şekilde, sıraya dikkat ederek değiştirebilirsiniz:

Kod:
DirectoryIndex dwelling.html index.htm index.html index.php

Yorumlar 2

  • sevgili taha kardesim.. belki sana tuhaf gelecek ama ben buraya googleden geldim ve aradıgım kelime suydu.. .htaccess nerde:) yha bit rülü o dosyayı bulamadım.. deli olcamm… acılkayabilirsen sevinirim.. kolay gelsin

  • İstediğim kelimelerde bulunmam beni sevindirdi 🙂
    Teşekkürler ilginize.
    Şöyle açıklayayım.
    htaccess dosyası sitenizin ana dizininde bulunur.
    mesela linux host kullanıyorsanız public_html yada www klasörü içnde olur.Eğer bulamıyorsanız yoktur demektir.Olmaması oluşturamayacağınız anlamına gelmez not defterini açın farklı kaydet deyin ve .htaccess olarak kaydedin ve ana dizininize atın.Eğer bunuda yapamıyorsanız oluşturmaya izin vermezse host yetkilinize danışınız.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.