X

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

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

Lütfen Para Birimi Seçiniz

₺ Türk Lirası $ US Dollar
X

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

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

Lütfen Para Birimi Seçiniz

₺ Türk Lirası $ US Dollar

Apache Sunucu .htaccess Kurallarını Neden Uygulamıyor?

AnasayfaYazılarTeknik RehberlerApache Sunucu .htaccess Kurallarını...

Apache sunucu üzerinde .htaccess kuralları çalışmıyorsa önce dosyanın doğru belge kökünde bulunduğunu ve Apache’nin bu dosyayı okumaya izin verdiğini doğrulayın. Ardından kuralı tek başına, yeni bir istek ve zamanla eşleşen hata günlüğüyle test edin. Paylaşımlı hostingde bu kontroller panel ve destek erişimiyle sınırlı olabilir; yönetilen sunucuda ise sanal host yapılandırması da incelenir.

Apache sunucu .htaccess dosyasını hangi koşullarda okur?

.htaccess, Apache’nin belirli bir dizine gelen istekler sırasında okuyabildiği yerel yapılandırma dosyasıdır. Ancak dosyanın var olması tek başına yeterli değildir. Yönetici yapılandırmasında ilgili dizin için AllowOverride kapalıysa veya yalnızca bazı direktiflere izin veriliyorsa kurallar yok sayılabilir ya da sunucu hata döndürebilir.

İlk ayrım ortam türüdür. Paylaşımlı hostingde dosya yöneticisi, FTP veya hosting paneliyle belge kökünü ve dosya adını kontrol edebilirsiniz; AllowOverride gibi Apache ayarlarını değiştiremezsiniz. VDS ya da özel sunucuda yönetici erişiminiz varsa sanal host yapılandırması, etkin modüller ve Apache’nin ilgili hata günlüğü de değerlendirmeye girer. Aynı belirti bu iki ortamda aynı çözümü gerektirmez.

Belirtiye göre doğru ayarı seçin

  • URL yönlendirmesi hiç olmuyorsa: Önce dosyanın doğru dizinde olup olmadığını, ardından yeniden yazma modülünün ve override izninin durumunu inceleyin.
  • Sayfa 500 hatası veriyorsa: Kural sözdizimini ve hata günlüğündeki ilk yeni satırı kontrol edin; dosyanın okunmadığını varsayarak rastgele izin değiştirmeyin.
  • Dosya bulunamıyor hatası sürüyorsa: Uygulamanın belge kökünü, alt dizin kurulumunu ve kuralın kullandığı göreli yolu birlikte değerlendirin.

Kuralları değiştirmeden önce güvenli kontrol sırası

  1. Ortamı ve erişimi belirleyin. Paylaşımlı hostingde paneldeki dosya yöneticisinde sitenin belge kökünü bulun; yönetilen sunucuda ilgili sanal host tanımının hangi dizini işaret ettiğini doğrulayın. Değişiklik yapacaksanız mevcut .htaccess içeriğini indirin veya panelin sürümleme/yedekleme özelliğini kullanın. Böylece başarısız bir denemede önceki duruma dönebilirsiniz.
  2. Dosya adını ve konumunu inceleyin. Gizli dosyaları gösterme seçeneğini etkinleştirip dosyanın tam olarak .htaccess adını taşıdığını kontrol edin; .htaccess.txt veya yanlış alt klasör aynı etkiyi oluşturmaz. Uygulama alan adının açıldığı dizinde bulunuyorsa test URL’sini yeniden deneyin. Alt klasördeki uygulama için kuralın üst dizinde değil, isteğin ulaştığı uygun dizinde olması gerekebilir.
  3. Tek bir kuralı izole edin. Birden fazla yönlendirme, erişim ve önbellek kuralını aynı anda değiştirmeyin. Önce yalnızca incelenen davranışla ilgili kuralı bırakıp mevcut değeri not edin. Örneğin amaç eski bir URL’nin yeni URL’ye yönlenmesi ise tarayıcıdaki yönlendirme sonucunu ve adres çubuğundaki son URL’yi kaydedin; sonuç değişmiyorsa sonraki inceleme dosyanın okunup okunmadığıdır.
  4. Apache’nin hata kanıtını bulun. Panelde siteye özel hata günlüğünü, yönetici sunucuda ise sanal host için tanımlanmış error log kaydını açın. Aynı test isteğinin saatini not edip o zamandan sonra oluşan satırlara bakın. “Invalid command” veya izin verilmeyen direktif benzeri bir kayıt varsa sorun kuralın desteklenmemesi ya da sözdizimidir; “file not found” benzeri kayıt varsa yol ve belge kökü farklı ele alınmalıdır.
  5. Yönetici yapılandırmasını kontrol edin. Sunucu yönetiminiz varsa ilgili Directory bölümünde override kullanımına izin verilip verilmediğini ve yeniden yazma modülünün etkin olup olmadığını yetkili yapılandırma ekranından doğrulayın. AllowOverride kapalıysa yalnızca .htaccess dosyasını düzenlemek çözüm olmaz; ilgili ayarı sunucu politikasına uygun biçimde açmak veya kuralı sanal host yapılandırmasına taşımak gerekir. Paylaşımlı hostingde bu bulguyu sağlayıcıya iletmek daha güvenlidir; ana yapılandırmayı değiştirmeye çalışmayın.
  6. Değişiklikten sonra aynı işlemi tekrarlayın. Yalnızca bir faktörü değiştirdikten sonra daha önce başarısız olan aynı URL’yi, aynı yöntemle yeniden açın. Yeni hata günlüğü satırının saatini testle karşılaştırın ve yönlendirme başlığının ya da beklenen sayfanın oluştuğunu kontrol edin. Hata farklı bir satıra dönüştüyse ilk engel aşılmış olabilir; yeni bulguyu ayrı bir sorun olarak değerlendirin.

Yaygın bulgular nasıl yorumlanır?

Örneğin, varsayımsal bir WordPress kurulumu alt klasörde yer alıyor ve ana sayfa açılırken bağlantılar 404 dönüyor olsun. .htaccess dosyasının alan adının belge kökünde değil, uygulamanın bulunduğu alt dizinde olması gerektiği görülürse dosyayı doğru dizine taşıyıp yalnızca ilgili kuralı test etmek mantıklıdır. Testten sonra günlüğe sözdizimi hatası değil, uygulamaya ulaşan yeni bir istek kaydı düşüyorsa ilk konum sorunu çözülmüş; 404 sürüyorsa bu kez alt klasör yolu veya uygulama yönlendirme ayarı incelenmelidir. Bu gözlem, tek başına yazma iznini veya PHP ayarlarını suçlamak için kanıt oluşturmaz.

Hata günlüğünde açıkça bir direktifin tanınmadığı yazıyorsa kuralın kullandığı modülün etkinliği ve hosting planının izin verdiği direktifler kontrol edilmelidir. Buna karşılık hiçbir yeni Apache hatası oluşmuyor ve istek doğrudan uygulamaya gidiyorsa dosya büyük olasılıkla yanlış konumdadır, adı doğru okunmuyordur veya override politikası dosyayı devre dışı bırakıyordur. Tüm dosyayı yeniden yazmak yerine bu üç olasılığı sırayla ayırmak daha güvenlidir.

Değişiklik işe yaramazsa güvenli geri dönüş

Yeni testte 500 hatası oluşursa son eklediğiniz kuralı kaldırmadan önce özgün içeriği saklayın; yalnızca son değişikliği geri alıp aynı URL’yi tekrar deneyin. Hata kayboluyorsa sorun o kuralın sözdizimi veya desteklenmeyen direktifiyle ilişkilidir. Hata sürüyorsa geri alınan ayarı tekrar değiştirmeyin ve yeni zaman damgalı kaydı, ortam türünü ve test URL’sini yöneticinize iletin.

Sunucu yapılandırmasını kendiniz yönetiyorsanız önce AllowOverride ve modül durumunun kurum politikanıza uygunluğunu doğrulayın; üretim ortamında güvenlik kontrollerini kapatmak veya tüm dizinlere geniş izin vermek çözüm değildir. Yönetici erişimi gerektiren bir Apache düzenlemesi için altyapı seçeneklerini karşılaştırırken sunucu kiralama çözümleri sayfasını yalnızca ilgili hizmet seçeneklerini incelemek amacıyla kullanabilirsiniz. İlk sonraki adım, aynı başarısız isteği yeniden üretip dosya konumu ile yeni hata günlüğü satırını eşleştirmektir.


Top