Arama Yap Mesaj Gönder
Biz Sizi Arayalım
+90
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro

Bilgi Bankası

Anasayfa Bilgi Bankası Genel htaccess Nedir? Kullanımı ve SEO İç...

Bize Ulaşın

Konum Halkalı merkez mahallesi fatih cd ozgur apt no 46 , Küçükçekmece , İstanbul , 34303 , TR

htaccess Nedir? Kullanımı ve SEO İçin Önemi

.htaccess, Apache web sunucularında kullanılan, dizin bazlı konfigürasyon dosyasıdır. İsmi, "hypertext access" kelimelerinin kısaltmasıdır. Bu dosya, sunucuya ana konfigürasyon dosyasını (httpd.conf veya apache2.conf gibi) değiştirmeden, dizin bazında özel kurallar tanımlama imkanı sunar. Özellikle paylaşımlı hosting ortamlarında, sunucu yöneticisi yetkisi olmayan kullanıcılar için hayati öneme sahiptir. .htaccess dosyası sayesinde, URL yönlendirmeleri, erişim kontrolü, önbellekleme, güvenlik ayarları ve daha birçok işlem kolaylıkla yapılabilir. SEO (Arama Motoru Optimizasyonu) açısından da kritik bir rol oynar; çünkü URL yapısını optimize etme, yinelenen içerik sorunlarını çözme ve site hızını artırma gibi konularda .htaccess dosyası etkili bir araçtır.

1. .htaccess Dosyasının Temelleri

1.1 .htaccess Dosyası Nedir ve Nerede Bulunur?

.htaccess dosyası, genellikle web sitenizin kök dizininde (public_html, www veya httpdocs gibi) bulunur. Ancak, alt dizinlerde de .htaccess dosyaları olabilir. Her dizindeki .htaccess dosyası, o dizin ve alt dizinlerindeki web sayfalarını etkiler. .htaccess dosyası, düz bir metin dosyasıdır ve herhangi bir metin editörü ile oluşturulabilir veya düzenlenebilir. Dosyanın adının başında bir nokta (.) olması, bazı işletim sistemlerinde (özellikle Linux ve Unix tabanlı sistemlerde) dosyanın gizli dosya olarak algılanmasına neden olur. Bu nedenle, dosyayı oluştururken veya düzenlerken gizli dosyaları gösterme ayarlarının etkin olduğundan emin olun.

1.2 .htaccess Dosyasının Çalışma Prensibi

.htaccess dosyası, Apache web sunucusu tarafından okunur ve içerdiği kurallar uygulanır. Bir kullanıcı bir web sayfasına erişmek istediğinde, sunucu önce ana konfigürasyon dosyasını (httpd.conf) okur ve ardından, erişilen dizin ve üst dizinlerindeki .htaccess dosyalarını sırayla okur. .htaccess dosyalarındaki kurallar, ana konfigürasyon dosyasındaki kuralları geçersiz kılabilir veya üzerine ekleme yapabilir. Bu, .htaccess dosyalarının dizin bazında özel konfigürasyonlar yapma esnekliği sağlamasının temel nedenidir.

1.3 .htaccess Dosyasının Avantajları ve Dezavantajları

Avantajları:

  • Esneklik: Dizin bazında özel kurallar tanımlama imkanı sunar.
  • Kolay Kullanım: Metin tabanlı bir dosya olduğu için kolayca düzenlenebilir.
  • Paylaşımlı Hosting Desteği: Sunucu yöneticisi yetkisi olmayan kullanıcılar için idealdir.
  • SEO Optimizasyonu: URL yönlendirmeleri, yinelenen içerik sorunları ve site hızı optimizasyonu için kullanılabilir.

Dezavantajları:

  • Performans Etkisi: Her istekte .htaccess dosyasının okunması, sunucu performansını bir miktar etkileyebilir (özellikle çok sayıda .htaccess dosyası varsa).
  • Güvenlik Riskleri: Yanlış yapılandırılmış .htaccess dosyaları, güvenlik açıklarına neden olabilir.
  • Hata Ayıklama Zorluğu: .htaccess dosyalarındaki hatalar, web sitesinin beklenmedik şekilde davranmasına neden olabilir ve hata ayıklama süreci zorlu olabilir.

2. .htaccess ile Yapılabilecek Temel İşlemler

2.1 URL Yönlendirmeleri

.htaccess dosyası, farklı türlerde URL yönlendirmeleri yapmak için kullanılabilir. En yaygın kullanılan yönlendirme türleri şunlardır:

  • 301 Yönlendirmesi (Kalıcı Yönlendirme): Bir URL'nin kalıcı olarak başka bir URL'ye taşındığını belirtir. SEO açısından en uygun yönlendirme türüdür.
  • 302 Yönlendirmesi (Geçici Yönlendirme): Bir URL'nin geçici olarak başka bir URL'ye taşındığını belirtir.

301 Yönlendirme Örneği:


Redirect 301 /eski-sayfa.html /yeni-sayfa.html

302 Yönlendirme Örneği:


Redirect 302 /eski-sayfa.html /yeni-sayfa.html

RewriteEngine ile Gelişmiş Yönlendirme:

RewriteEngine, daha karmaşık yönlendirme kuralları tanımlamak için kullanılan bir Apache modülüdür. .htaccess dosyasında RewriteEngine'i etkinleştirmek için aşağıdaki satırı ekleyin:


RewriteEngine On

Örnek: Tüm .php uzantılı dosyaları .html uzantılı dosyalara yönlendirme:


RewriteEngine On
RewriteRule ^(.*)\.php$ $1.html [R=301,L]

2.2 Erişim Kontrolü

.htaccess dosyası, web sitenizin belirli bölümlerine erişimi kontrol etmek için kullanılabilir. Örneğin, belirli IP adreslerinden erişimi engelleme veya şifre koruması uygulama gibi işlemler yapılabilir.

Belirli IP Adreslerinden Erişimi Engelleme:


order allow,deny
deny from 192.168.1.100
allow from all

Dizin Şifreleme:

Bir dizini şifrelemek için öncelikle bir .htpasswd dosyası oluşturmanız gerekir. Bu dosya, kullanıcı adlarını ve şifreleri (şifrelenmiş olarak) içerir. .htpasswd dosyasını oluşturmak için aşağıdaki komutu kullanabilirsiniz:


htpasswd -c /path/to/.htpasswd kullaniciadi

Ardından, .htaccess dosyasına aşağıdaki satırları ekleyin:


AuthType Basic
AuthName "Şifre Korumalı Alan"
AuthUserFile /path/to/.htpasswd
Require valid-user

2.3 Önbellekleme (Caching) Ayarları

.htaccess dosyası, web sitenizin önbellekleme ayarlarını optimize etmek için kullanılabilir. Tarayıcı önbellekleme, web sitenizin daha hızlı yüklenmesini sağlar ve sunucu üzerindeki yükü azaltır.

Tarayıcı Önbellekleme Ayarları:


<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=2592000"


<FilesMatch "\.(js|css|swf)$">
Header set Cache-Control "max-age=604800"


<FilesMatch "\.(html|htm)$">
Header set Cache-Control "max-age=0, must-revalidate"

2.4 Güvenlik Ayarları

.htaccess dosyası, web sitenizin güvenliğini artırmak için çeşitli önlemler almanıza olanak tanır. Örneğin, dizin listelemeyi engelleme, hotlinking'i engelleme ve belirli dosya türlerinin yürütülmesini engelleme gibi işlemler yapılabilir.

Dizin Listelemeyi Engelleme:


Options -Indexes

Hotlinking'i Engelleme:


RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.example.com/.*$ [NC]
RewriteRule \.(gif|jpg|jpeg|png)$ - [F,NC]

2.5 Özel Hata Sayfaları

.htaccess dosyası, web sitenizde oluşan hatalar için özel hata sayfaları tanımlamanıza olanak tanır. Örneğin, 404 (Sayfa Bulunamadı) hatası için özel bir sayfa oluşturabilirsiniz.

Özel Hata Sayfası Tanımlama:


ErrorDocument 404 /404.html
ErrorDocument 500 /500.html

3. .htaccess ve SEO İlişkisi

3.1 URL Yapısının Optimizasyonu

SEO için en önemli faktörlerden biri, URL yapısının arama motorları ve kullanıcılar için anlaşılır olmasıdır. .htaccess dosyası, URL'leri daha temiz ve SEO dostu hale getirmek için kullanılabilir. Örneğin, dinamik URL'leri statik URL'lere dönüştürme (URL rewriting) işlemi yapılabilir.

Dinamik URL'leri Statik URL'lere Dönüştürme:

Örneğin, aşağıdaki gibi bir dinamik URL'yi:


/urun.php?id=123&kategori=elektronik

Aşağıdaki gibi daha SEO dostu bir URL'ye dönüştürebilirsiniz:


/elektronik/urun/123/

.htaccess kodu:


RewriteEngine On
RewriteRule ^elektronik/urun/([0-9]+)/?$ urun.php?id=$1&kategori=elektronik [L]

3.2 Yinelenen İçerik Sorunlarının Çözümü

Yinelenen içerik, SEO açısından ciddi bir sorundur. .htaccess dosyası, yinelenen içerik sorunlarını çözmek için kullanılabilir. Örneğin, www ve www olmayan versiyonları arasında yönlendirme yaparak veya trailing slash (sondaki slash) sorununu çözerek yinelenen içerik sorunları giderilebilir.

www ve www Olmayan Versiyonları Arasında Yönlendirme:

Web sitenizin www versiyonunu www olmayan versiyonuna yönlendirmek için aşağıdaki kodu kullanabilirsiniz:


RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

Trailing Slash Sorununu Çözme:

Trailing slash (sondaki slash) sorununu çözmek için aşağıdaki kodu kullanabilirsiniz:


RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

3.3 Site Hızının Artırılması

.htaccess dosyası, web sitenizin hızını artırmak için önbellekleme ayarlarını optimize etmek ve sıkıştırma (compression) etkinleştirmek gibi işlemlerde kullanılabilir.

Sıkıştırma (Compression) Etkinleştirme:



  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/xml
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/x-javascript

4. .htaccess ile İlgili Güvenlik Konuları

4.1 .htaccess Dosyasının Güvenliği

.htaccess dosyası, web sitenizin güvenliğini artırmak için kullanılabileceği gibi, yanlış yapılandırıldığında güvenlik açıklarına da neden olabilir. Bu nedenle, .htaccess dosyasını düzenlerken dikkatli olmak ve güvenlik en iyi uygulamalarına uymak önemlidir.

4.2 Yaygın Güvenlik Açıkları ve Önlemler

  • Dizin Listeleme: Dizin listeleme etkinse, ziyaretçiler web sitenizin dizin yapısını görebilir ve hassas dosyalara erişebilir. Dizin listelemeyi engellemek için Options -Indexes komutunu kullanın.
  • Yanlış Yönlendirmeler: Yanlış yapılandırılmış yönlendirmeler, ziyaretçileri kötü amaçlı sitelere yönlendirebilir. Yönlendirme kurallarını dikkatlice kontrol edin ve test edin.
  • Hotlinking: Hotlinking, diğer web sitelerinin sizin sunucunuzdaki resimleri kullanmasıdır. Bu, sunucu kaynaklarınızı tüketir ve bant genişliğinizi azaltır. Hotlinking'i engellemek için yukarıda belirtilen kodu kullanın.
  • Dosya Yükleme Açıkları: .htaccess dosyası, belirli dosya türlerinin yürütülmesini engellemek için kullanılabilir. Örneğin, .php uzantılı dosyaların belirli dizinlerde yürütülmesini engellemek için aşağıdaki kodu kullanabilirsiniz:
    
    
    deny from all
    
    

5. .htaccess Optimizasyonu ve Performans

5.1 .htaccess Dosyasının Performans Üzerindeki Etkisi

.htaccess dosyası, her istekte okunur ve işlenir. Bu, sunucu performansını bir miktar etkileyebilir. Özellikle çok sayıda .htaccess dosyası varsa veya karmaşık kurallar içeriyorsa, performans etkisi daha belirgin olabilir.

5.2 Performansı Artırmak İçin İpuçları

  • .htaccess Dosyalarını Azaltın: Mümkünse, .htaccess dosyalarını birleştirin veya ana sunucu konfigürasyon dosyasına (httpd.conf veya apache2.conf) taşıyın.
  • Karmaşık Kurallardan Kaçının: Karmaşık yönlendirme kuralları veya erişim kontrolü kuralları, sunucu performansını olumsuz etkileyebilir. Kuralları basitleştirin veya optimize edin.
  • Önbellekleme Kullanın: Tarayıcı önbellekleme ve sunucu tarafı önbellekleme, .htaccess dosyasının performans üzerindeki etkisini azaltabilir.
  • Mod_rewrite'ı Verimli Kullanın: Mod_rewrite kurallarını yazarken, mümkün olduğunca az sayıda kural kullanmaya ve kuralları optimize etmeye çalışın.

6. Gerçek Hayattan Örnekler ve Vaka Çalışmaları

6.1 E-ticaret Sitesi SEO Optimizasyonu

Bir e-ticaret sitesi, .htaccess dosyası kullanarak URL yapısını optimize etti, yinelenen içerik sorunlarını çözdü ve site hızını artırdı. Bu sayede, arama motoru sıralamalarında önemli bir yükseliş elde etti ve organik trafik artışı sağladı.

6.2 Blog Sitesi Güvenlik İyileştirmesi

Bir blog sitesi, .htaccess dosyası kullanarak dizin listelemeyi engelledi, hotlinking'i engelledi ve kötü amaçlı botlara karşı koruma sağladı. Bu sayede, site güvenliği önemli ölçüde arttırıldı ve sunucu kaynaklarının daha verimli kullanılması sağlandı.

7. Sık Sorulan Sorular

7.1 .htaccess dosyası nerede bulunur?

.htaccess dosyası genellikle web sitenizin kök dizininde (public_html, www veya httpdocs gibi) bulunur.

7.2 .htaccess dosyasını nasıl oluşturabilirim?

.htaccess dosyası, herhangi bir metin editörü ile oluşturulabilir. Dosyanın adının başında bir nokta (.) olduğundan emin olun.

7.3 .htaccess dosyası çalışmıyor, ne yapmalıyım?

Öncelikle, .htaccess dosyasının doğru dizinde olduğundan ve yazım hataları içermediğinden emin olun. Ayrıca, Apache sunucusunda AllowOverride yönergesinin doğru yapılandırıldığından emin olun.

7.4 .htaccess dosyası ile neler yapılabilir?

.htaccess dosyası ile URL yönlendirmeleri, erişim kontrolü, önbellekleme, güvenlik ayarları, özel hata sayfaları ve daha birçok işlem yapılabilir.

7.5 .htaccess dosyası güvenli midir?

.htaccess dosyası, doğru yapılandırıldığında web sitenizin güvenliğini artırabilir. Ancak, yanlış yapılandırıldığında güvenlik açıklarına neden olabilir. Bu nedenle, .htaccess dosyasını düzenlerken dikkatli olmak ve güvenlik en iyi uygulamalarına uymak önemlidir.

8. Sonuç ve Özet

.htaccess dosyası, Apache web sunucularında kullanılan güçlü bir araçtır. Dizin bazında özel konfigürasyonlar yapma imkanı sunar ve web sitenizin SEO'sunu, güvenliğini ve performansını artırmak için kullanılabilir. Ancak, .htaccess dosyasını düzenlerken dikkatli olmak ve güvenlik en iyi uygulamalarına uymak önemlidir. Yanlış yapılandırılmış .htaccess dosyaları, web sitenizin beklenmedik şekilde davranmasına veya güvenlik açıklarına neden olabilir. Bu nedenle, .htaccess dosyası hakkında bilgi sahibi olmak ve doğru kullanmak, web sitenizin başarısı için kritik öneme sahiptir.

Özellik Açıklama SEO Etkisi
URL Yönlendirmeleri Eski URL'leri yeni URL'lere yönlendirme. Kalıcı yönlendirmeler (301), SEO değerini korur.
Yinelenen İçerik Yönetimi www/www olmayan versiyonları yönlendirme, trailing slash sorununu çözme. Yinelenen içerik sorunlarını çözerek arama motoru sıralamalarını iyileştirir.
Önbellekleme Ayarları Tarayıcı önbellekleme ve sunucu tarafı önbellekleme. Site hızını artırarak kullanıcı deneyimini iyileştirir ve SEO'ya katkıda bulunur.
Güvenlik Ayarları Dizin listelemeyi engelleme, hotlinking'i engelleme. Site güvenliğini artırarak kullanıcı güvenini sağlar ve arama motorları tarafından olumlu değerlendirilir.
Konfigürasyon Açıklama Örnek Kod
PHP Sürümü Belirleme Sitenin kullanacağı PHP sürümünü belirtme. AddHandler application/x-httpd-php74 .php
HTTPS Yönlendirmesi Tüm HTTP isteklerini HTTPS'e yönlendirme.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Dosya Erişimi Engelleme Belirli dosya türlerine erişimi engelleme.
<FilesMatch "\.(htaccess|htpasswd|ini)$">
    Require all denied

Aradığınız Bilgiyi Bulamıyor musunuz?

Bilgi bankasını detaylı olarak incelediniz, fakat ihtiyacınız olan bilgiyi bulamıyorsanız,

Bir Destek Talebi Oluşturun.
Faydalı Buldunuz mu?
(3495 defa görüntülendi. / 481 kişi faydalı buldu.)

Ürün ve hizmetlerimiz hakkında daha detaylı bilgi almak için hemen arayın.

Top