WordPress'in .htaccess Dosyasının Üzerine Yazmasını Durdurma

Yayınlanan: 2023-02-23

Son zamanlarda okuyucularımızdan biri, WordPress'in .htaccess dosyanızdaki özel kodun üzerine yazmasını durdurmanın mümkün olup olmadığını sordu.

WordPress, çeşitli eklentilerle birlikte .htaccess yapılandırma dosyasına özel ayarlar ekler. .htaccess'e kendi özel kodunuzu eklediyseniz, üzerine yazılacağından veya silineceğinden endişe edebilirsiniz.

Bu yazıda, WordPress'in .htaccess dosyasının üzerine yazmasını nasıl durduracağınızı göstereceğiz.

How to Stop WordPress From Overwriting .htaccess File

WordPress Neden .htaccess Dosyasının Üzerine Yazıyor?

.htaccess dosyanız, WordPress web sitenizle ilgili önemli ayarları saklayan güçlü bir yapılandırma dosyasıdır. Barındırma sunucunuza sitenizi nasıl idare edeceğini söyleyen kurallar içerir.

WordPress, kalıcı bağlantı ayarlarını saklamak için .htaccess dosyasını kullanır. Kalıcı bağlantılarınızı her değiştirdiğinizde veya yeniden oluşturduğunuzda, WordPress otomatik olarak .htaccess'teki eski ayarların üzerine yeni ayarlarla yazacaktır.

Bazı WordPress eklentileri de ayarlarını .htaccess dosyasına kaydeder. Örneğin, W3 Total Cache eklentisi, eklentinin parçası olan önbelleğe alma ve optimizasyon araçlarını yapılandırmak için .htaccess dosyanızı değiştirir.

Son olarak, web sitenizin nasıl çalıştığını kontrol etmek için .htacess'te kendi özel değişikliklerinizi yapabilirsiniz. Örneğin, dosyaya yönetici alanınızı koruyan, sitenizi bilgisayar korsanlarından koruyan, yönlendirmeler ayarlayan, şüpheli IP adreslerini yasaklayan ve daha fazlasını yapan özel kurallar ekleyebilirsiniz.

Bazı kullanıcılar, .htaccess'e kendi özel kurallarını eklerlerse, WordPress dosyanın üzerine yeni ayarlar yazdığında bu kuralların silinebileceğinden endişe duyarlar. Diğer kullanıcılar .htaccess'i manuel olarak yapılandırmayı ve WordPress'in ona yazmasına izin vermemeyi tercih eder.

Bununla birlikte, WordPress'in .htaccess dosyanızın üzerine yazmasını nasıl durduracağınıza bir göz atalım. İlgilendiğiniz bölüme atlamak için aşağıdaki hızlı bağlantıları kullanmanız yeterlidir.

  • WordPress'in .htaccess Kurallarınızın Üzerine Yazmasını Nasıl Durdurabilirsiniz?
  • WordPress'in .htaccess'i Değiştirmesini Durdurma

WordPress'in .htaccess Kurallarınızın Üzerine Yazmasını Nasıl Durdurabilirsiniz?

İyi haber şu ki, .htaccess dosyasının nasıl çalıştığını anlarsanız, özel kurallarınızın üzerine yazılmayacağından emin olabilirsiniz.

Bunun nedeni, dosyanın WordPress veya eklentileriniz tarafından değiştirilecek alanlarının açıkça işaretlenmiş olmasıdır. Bu alanlara kod eklemediğinizden emin olun.

WordPress İşaretçilerinin İçindeki Kodu Değiştirmeyin

Daha önce de söylediğimiz gibi WordPress, SEO dostu bir URL yapısı için ayarları depolamak için .htaccess kullanır. Dosyaya kaydettiği kodun üzerine otomatik olarak yazılır ve kalıcı bağlantı ayarlarınızı her değiştirdiğinizde güncellenir.

Aşağıdaki ekran görüntüsünde de görebileceğiniz gibi, WordPress bu bilgiyi # BEGIN WordPress ve # END WordPress olmak üzere iki işaretleyici arasına kaydeder.

WordPress Markers in .htaccess

Bu işaretçilerin içindeki uyarıya dikkat edin:

“BEGIN WordPress” ve “END WordPress” arasındaki yönergeler (satırlar) dinamik olarak oluşturulur ve yalnızca WordPress filtreleri aracılığıyla değiştirilmelidir. Bu işaretçiler arasındaki direktiflerde yapılan tüm değişikliklerin üzerine yazılacaktır.

Bu, WordPress'in bu işaretçilerin dışında eklediğiniz herhangi bir kodun üzerine yazmayacağı veya değiştirmeyeceği anlamına gelir. Kullanıcılar genellikle özel kodlarını dosyanın en üstüne, # BEGIN WordPress işaretçisinin üstüne ekler.

İpucu: .htaccess, WordPress sitenizin kök klasöründe bulunan gizli bir dosyadır. Bulmakta güçlük çekiyorsanız, WordPress sitenizde .htaccess dosyasını neden bulamadığınızla ilgili kılavuzumuza bakın.

Eklenti İşaretleyicilerinizin İçindeki Kodu Değiştirmeyin

Bir eklenti, ayarlarını .htaccess'e kaydettiğinde, onu ayrıca # BEGIN Plugin ve # END Plugin gibi görünen işaretçilerin arasına yerleştirir.

Örneğin, web sitenizin hızını ve performansını artırmak için W3 Total Cache eklentisini kurar ve kurarsanız, # BEGIN W3TC Browser Cache ve # END W3TC Browser Cache işaretçileri arasına .htaccess'e kurallar ekleyecektir.

Example of Plugin Markers in .htaccess

Eklentinin ayarlarını her değiştirdiğinizde bu kuralların üzerine yazılacaktır, bu nedenle bu işaretçiler arasına kendi özel .htaccess kurallarınızı eklememeye dikkat etmeniz gerekir.

Özel Kodunuz için İşaretçiler Oluşturma

Nadir durumlarda, kötü davranan bir eklenti kodu # BEGIN ve # END işaretleri dışında değiştirebilir. Ancak, normalde WordPress veya diğer eklentiler tarafından kullanılan işaretçiler arasında bulunan kodu değiştirmez.

Kötü davranan bir eklentinin kodunuzun üzerine yazmasından endişe ediyorsanız, .htaccess dosyasına kendi işaretçilerinizi ekleyebilirsiniz.

Örneğin, .htaccess dosyasının en üstüne # BEGIN MyCustomCode ve # END MyCustomCode işaretçileri yazabilir ve ardından bu işaretçiler arasına kendi özel kurallarınızı ekleyebilirsiniz.

You Can Create Your Own Markers in .htaccess for Your Custom Rules

.htaccess'in sonuna da kod eklemeniz gerekiyorsa, oraya farklı bir işaretçi seti ekleyebilirsiniz. Sadece onlara farklı isimler verdiğinizden emin olun. Örneğin, 'MyCustomCodeTop' ve 'MyCustomCodeBottom' kullanabilirsiniz.

WordPress'in .htaccess'i Değiştirmesini Durdurma

Artık .htaccess'in nasıl çalıştığını anladığınıza göre, WordPress veya eklentileriniz tarafından özel kodunuzun üzerine yazılmayacağından emin olabilirsiniz.

Ancak, bazı geliştiriciler ve ileri düzey kullanıcılar, WordPress'in .htaccess'te herhangi bir değişiklik yapmasını durdurmak istiyor.

Örneğin, ayarları manuel olarak .htaccess'e yazarak kalıcı bağlantılar oluşturmak isteyebilirler. Bu durumda, WordPress'in kendi kalıcı bağlantı ayarlarını dosyaya kaydetmesini engelleyerek çakışmaları önlemek isteyeceklerdir.

Ne yaptığınızı bilmiyorsanız bunu önermiyoruz çünkü beklenmedik sonuçlara yol açabilir. Ancak, dosyanın izinlerini değiştirerek veya kod kullanarak yapılabilir.

Dosya İzinlerini Kullanarak WordPress'in .htaccess'i Değiştirmesini Durdurma

WordPress'in .htaccess'i değiştirmesini engellemenin bir yolu, dosyayı salt okunur yapmaktır. Bunu yapmak için, bir FTP istemcisi veya WordPress barındırma sağlayıcınız tarafından sağlanan dosya yöneticisini kullanarak dosya izinlerini değiştirmeniz gerekir.

.htaccess dosyasını WordPress kurulumunuzun kök dizininde bulacaksınız. Ardından, dosyayı sağ tıklayıp 'Dosya izinleri'ni seçmelisiniz.

Selecting File Permissions From the Menu in Your FTP Client

Bu, dosyanın özniteliklerini değiştirebileceğiniz bir açılır pencere görüntüler.

Varsayılan ayar 644 olacaktır, ancak doğrudan 'Sayısal değer' alanına yazarak veya yalnızca 'Oku' kutularının işaretlendiğinden emin olarak bunu 444 olarak değiştirebilirsiniz.

Changing the .htaccess File Permissions to 444 or Read-Only

'Tamam' düğmesini tıkladığınızda, dosya salt okunur olur ve değiştirilemez.

Elbette bu, dosyaya da yazamayacağınız anlamına gelecektir. Değişiklik yapmak istediğinizde, dosya izinlerini geçici olarak 644'e ayarlamanız gerekecektir.

Kod Kullanarak WordPress'in .htaccess'i Değiştirmesini Durdurma

Başka bir çözüm, WordPress'in .htaccess dosyasına yazmamasını bilmesini sağlayan bir kod parçacığı kullanmaktır. Bu, eklentilerinizi engellemeden WordPress'in .htaccess'i değiştirmesini durdurmak istiyorsanız kullanışlıdır.

Not: Herhangi bir temel WordPress dosyasını düzenlemek tehlikeli olabilir. Küçük bir hata bile sitenizde büyük hatalara neden olabilir. Bu nedenle, bu yöntemi yalnızca ileri düzey kullanıcılar için öneriyoruz.

Aşağıdaki kod parçacığını wp-config.php dosyanızın sonuna eklemeniz yeterlidir. Yardıma ihtiyacınız varsa, lütfen WordPress'te wp-config.php dosyasının nasıl düzenleneceğine ilişkin kılavuzumuza bakın.

add_filter('got_rewrite', '__return_false');

Bunu yaptıktan sonra, WordPress artık .htaccess dosyasına yazmayacaktır.

WordPress .htaccess'i Değiştiremediğinde Görüntülenen Hata Mesajı

.htaccess salt okunur olarak ayarlandığında kalıcı bağlantı ayarlarınızı değiştirmeye çalışırsanız, bir hata mesajı görüntülenir.

Ayarlar » Kalıcı bağlantılar sayfasının üst kısmında '.htaccess dosyanızı şimdi güncellemelisiniz' mesajını göreceksiniz.

Permalink Settings Error Message When .htaccess Cannot Be Accessed

Bu, WordPress'in .htaccess dosyasını değiştiremediğini bilmenizi sağlar.

Normalde, amacın buydu. Ancak, WordPress kalıcı bağlantı ayarlarını .htaccess'e eklemek isterseniz, bunu manuel olarak yapmanız gerekecektir.

Ayarlar ≫ Kalıcı bağlantılar sayfasının altında, .htaccess dosyanızın yazılabilir olmadığını söyleyen başka bir hata mesajı göreceksiniz. Bunun altında .htaccess'e eklenmesi gereken kuralları göreceksiniz.

List of Rules You Will Need to Add to .htaccess Manually if Needed

Bu ayarları eklemek isterseniz, düzenlenebilmesi için .htaccess dosya izinlerini geçici olarak 644 olarak değiştirmeniz gerekecektir. Bundan sonra, zaten orada bulunan kodu değiştirerek, dosyanın WordPress BEGIN ve END işaretleri arasına kuralları yapıştırmalısınız.

İşiniz bittiğinde, değeri tekrar 444'e ayarlayın ve dosyayı kaydedin. Bir kez daha yazılamaz olacak.

Umarız bu eğitim, WordPress'in .htaccess dosyasının üzerine yazmasını nasıl durduracağınızı öğrenmenize yardımcı olmuştur. Ayrıca WordPress'e nasıl push bildirimi ekleyeceğinizi öğrenmek ve en iyi WordPress SEO eklentileri ve araçlarından oluşan uzman listemize göz atmak isteyebilirsiniz.

Bu makaleyi beğendiyseniz, lütfen WordPress video eğitimleri için YouTube Kanalımıza abone olun. Bizi Twitter ve Facebook'ta da bulabilirsiniz.