Mehmet

WFN Üye
Konular
1,851
Mesajlar
1,852
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 6 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi
DirectAdmin’de .htaccess dosyası, Apache veya Apache uyumlu bir web sunucusunda site klasörüne yerleştirilen ve o klasör ile alt klasörlerin davranışını belirleyen gizli yapılandırma dosyasıdır. Genellikle alan adının web kökü olan public_html içine konur. Dosya görünmüyorsa Dosya Yöneticisi’nde gizli dosyaları gösterme seçeneğini etkinleştirin veya dosyayı SSH/SFTP ile kontrol edin. Sunucunuz yalnızca Nginx kullanıyorsa .htaccess okunmaz; bu durumda aynı kuralı sunucu yapılandırmasına taşımak gerekir.

.htaccess nasıl çalışır?​


Dosyadaki kurallar, bulunduğu dizine gelen istekleri işler. public_html/.htaccess içindeki bir kural ana alan adını ve alt dizinleri etkileyebilir. public_html/blog/.htaccess ise çoğunlukla yalnızca blog ve altındaki istekler için kullanılır. Alt dizindeki kurallar üst dizindeki kurallarla birlikte değerlendirilebildiği için aynı ayarı birden çok dosyada tekrar etmek çakışmaya yol açabilir.

Yaygın yol /home/KULLANICI/domains/example.com/public_html/.htaccess biçimindedir; HTTP ve HTTPS farklı document root kullanabiliyorsa private_html konumu da ayrıca kontrol edilmelidir. Bunların aynı klasör olduğunu varsaymayın. Yetkili yönetici da docs-root çıktısıyla gerçek HTTP/HTTPS köklerini hesaplatabilir; paylaşımlı hesap bu çıktıyı sağlayıcısından isteyebilir.

DirectAdmin yalnızca dosyayı barındırır; dosyanın kabul edilmesi Apache, PHP çalıştırma yöntemi ve sunucu yöneticisinin etkinleştirdiği modüllere bağlıdır. Bu nedenle bir kuralın çalışmaması her zaman yazım hatası anlamına gelmez. Özellikle yeniden yazma kuralları için sunucuda ilgili rewrite modülünün ve uygulamanın doğru yapılandırmasının bulunması gerekir.

Belge kökü ve web sunucusunu doğrulama​


DirectAdmin nginx_apache kurulumunda statik dosyaları Nginx, PHP isteklerini Apache işleyebilir. Bu nedenle Apache .htaccess kuralının bütün statik yanıtlara uygulanacağını varsaymayın. Saf Nginx ile Nginx+Apache aynı kurulum değildir; yeniden yazma veya erişim denetiminin hangi katmanda işleyeceğini ayırın. OpenLiteSpeed desteği de tam Apache uyumluluğu sayılmaz.

DirectoryIndex yapılandırma örneği​


Aşağıdaki örnek, sitenin web kökündeki .htaccess dosyasına konulabilir. index.html veya index.php dosyanızın gerçekten mevcut olduğunu varsayar:

Kod:
DirectoryIndex index.php index.html

Uygulama adımları:

  1. DirectAdmin’e giriş yapın ve ilgili alan adının dosya yöneticisini açın.
  2. Alan adının public_html klasörüne geçin. Mevcut bir .htaccess varsa önce içeriğini yedekleyin; yoksa tam olarak .htaccess adında yeni bir dosya oluşturun.
  3. Yukarıdaki tek satırı kaydedin. index.php yoksa örnekte yalnızca mevcut giriş dosyasını kullanın.
  4. Alan adını yeni bir gizli pencereyle açın ve dizin adresinin otomatik olarak beklenen giriş dosyasını gösterip göstermediğini kontrol edin.

Sitenin normal açılması dosyanın okunduğunu tek başına kanıtlamaz; sunucunun varsayılan giriş listesi aynı sonucu verebilir. Kuralın etkisini ayırmak gerekiyorsa erişimi sınırlı bir test dizininde benzersiz adlı giriş dosyası kullanın ve ilgili Apache/Nginx istek kaydını kontrol edin. Mevcut uygulama kurallarını bu test için kaldırmayın. 500 Internal Server Error görürseniz son eklediğiniz satırı kaldırıp yedeği geri yükleyin; sorun sürerse dosyada bozuk karakter, hatalı yönerge veya sunucunun bu yönergeyi kullanmasına izin vermemesi araştırılmalıdır. Dosya hiç etkili değilse önce sunucunun Apache/Apache uyumlu olup olmadığını ve doğru alan adı klasöründe çalıştığınızı doğrulayın.

Hangi durumda hangi konum?​


Aynı dosyayı farklı konumlara koymak farklı kapsamlar doğurur:

KonumEtkilediği alanTipik kullanım
public_html/.htaccessAlan adının ana sitesi ve alt dizinleriGenel yönlendirme, giriş dosyası ve temel erişim kuralları
public_html/klasor/.htaccessİlgili klasör ve alt klasörleriTek uygulamaya özel kurallar
Yedek dosyaWeb kökü dışında tutulmalıdırGeri dönüş kopyası; herkese indirilebilir .bak dosyası bırakmayın

Kuralı yalnızca bir uygulamaya uygulamak istiyorsanız dosyayı o uygulamanın klasörüne koymak daha güvenlidir. Buna karşılık tüm alan adını etkileyen bir ayar için web kökündeki dosyayı kullanın. Aynı yönergeyi hem üst hem alt dizindeki dosyalara eklemek yerine tek bir yerde tutun.

Sık yapılan hatalar​


  • Dosya adını .htaccess.txt olarak kaydetmek: Bazı editörler uzantıyı otomatik ekler. Dosya adının tam olarak .htaccess olduğunu kontrol edin.
  • Yanlış klasöre koymak: DirectAdmin hesabının ana dizini ile alan adının public_html klasörü aynı yer olmayabilir. Alan adının atanmış belge kökünü doğrulayın.
  • Mevcut kuralları silmek: CMS veya uygulama kuralları kaybolursa bağlantılar ve yönetim paneli bozulabilir. Değişiklikten önce kopya alın.
  • Apache kuralını Nginx’te beklemek: Nginx-only yapılandırmada .htaccess okunmaz; kuralı sunucu yöneticisinin Nginx yapılandırmasına uyarlaması gerekir.
  • Birden fazla değişikliği aynı anda yapmak: Hatanın kaynağı belirsizleşir. Tek değişiklik yapıp siteyi test edin.

Kaynaklar​



Sık sorulan sorular​


DirectAdmin’de .htaccess dosyasını göremiyorsam ne yapmalıyım?​


Dosya yöneticisinde gizli dosyaları gösterme seçeneğini açın. Bu seçenek yoksa SFTP veya SSH ile public_html içeriğini listeleyin. Dosya gerçekten yoksa, uygulama gerçekten gerektiriyorsa mevcut dosyaları ezmeden yeni bir tane oluşturabilirsiniz.

Değişiklik ne zaman etkili olur?​


Çoğu .htaccess değişikliği yeni istekte okunur; ayrıca web sunucusunu yeniden başlatmanız gerekmez. Tarayıcı önbelleği veya uygulama önbelleği sonucu gizleyebilir. Testi farklı bir gizli pencerede yapın ve önceki kuralı geri yükleyerek karşılaştırın.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.