Okurlarımızdan biri kısa süre önce bize WordPress’in .htaccess dosyasındaki özel kodlarının üzerine yazmasını engellemenin mümkün olup olmadığını sordu. WordPress ve çeşitli eklentiler genellikle bu yapılandırma dosyasına kendi ayarlarını eklediğinden, bu yaygın bir endişedir.
.htaccess’e özel kod eklediyseniz, üzerine yazılmasından veya silinmesinden endişe etmeniz anlaşılabilir bir durumdur. Bu kodu güvende tutmak, sitenizin performansında ve güvenliğinde aksaklıkları önleyecektir.
Bu makalede, WordPress’in .htaccess dosyasının üzerine yazmasını durdurma adımlarında size rehberlik edeceğiz. Bu talimatları izleyerek özel kodunuzu koruyabilir ve web sitenizin müdahale olmadan sorunsuz bir şekilde çalışmasını sağlayabilirsiniz.
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 kullanacağını 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 ayarları yazacaktır.
Bazı WordPress eklentileri de ayarlarını .htaccess dosyasına kaydeder. Örneğin, W3 Total Cache eklentisi, eklentinin bir parçası olan önbellekleme ve optimizasyon araçlarını yapılandırmak için .htaccess dosyanızı değiştirecektir.
Son olarak, web sitenizin nasıl çalıştığını kontrol etmek için .htacess dosyasında kendi özel değişikliklerinizi yapabilirsiniz. Örneğin, dosyaya yönetici alanınızı koruyan, sitenizi bilgisayar korsanlarına karşı güvende tutan, yönlendirmeler ayarlayan, şüpheli IP adreslerini yasaklayan ve daha fazlasını yapan özel kurallar ekleyebilirsiniz.
Bazı kullanıcılar .htaccess dosyasına kendi özel kurallarını eklediklerinde, WordPress yeni ayarlarla dosyanın üzerine yazdığında bunların silinmesinden endişe duymaktadır. Diğer kullanıcılar .htaccess dosyasını manuel olarak yapılandırmayı ve WordPress’in bu dosyaya hiç yazmasına izin vermemeyi tercih eder.
Bununla birlikte, WordPress’in .htaccess dosyanızın üzerine yazmasını nasıl engelleyeceğimize 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ı Durdurma
İ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. Sadece bu alanlara kod eklemediğinizden emin olun.
WordPress İşaretleyicilerinin İçindeki Kodu Değiştirmeyin
Daha önce de söylediğimiz gibi WordPress, SEO dostu bir URL yapısı için ayarları saklamak üzere .htaccess kullanır. Dosyaya kaydettiği kod, kalıcı bağlantı ayarlarınızı her değiştirdiğinizde otomatik olarak üzerine yazılacak ve güncellenecektir.
Aşağıdaki ekran görüntüsünde görebileceğiniz gibi, WordPress bu bilgileri iki işaretleyici arasına kaydeder: # BEGIN
WordPress ve # END
WordPress.
İşaretlerin içindeki uyarıya dikkat edin:
“BEGIN WordPress” ve “END WordPress” arasındaki direktifler (satırlar) dinamik olarak oluşturulur ve yalnızca WordPress filtreleri aracılığıyla değiştirilmelidir. Bu işaretler arasındaki yönergelerde yapılacak herhangi bir değişiklik üzerine yazılacaktır.
Bu, WordPress’in bu işaretçiler dışında eklediğiniz hiç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 üzerine eklerler.
İpucu:.htaccess, WordPress sitenizin kök klasöründe bulunan gizli bir dosyadır. Bulmakta zorluk çekiyorsanız, WordPress sitenizdeki .htaccess dosyasını neden bulamadığınızla ilgili kılavuzumuza göz atın.
Eklentilerinizin İşaretleyicilerinin İçindeki Kodu Değiştirmeyin
Bir eklenti ayarlarını .htaccess’e kaydettiğinde, aynı zamanda # BEGIN Plugin
ve # END Plug
in gibi görünen işaretleyiciler arasına yerleştirir.
Örneğin, web sitenizin hızını ve performansını artırmak için W3 Total Cache eklentisini kurar ve ayarlarsanız, .htaccess’e # BEGIN W3TC Browser C
ache ve # END W3TC Browser C
ache işaretleri arasına kurallar ekleyecektir.
Eklentinin ayarlarını her değiştirdiğinizde bu kuralların üzerine yazılacaktır, bu nedenle bu işaretler arasına kendi özel .htaccess kurallarınızı eklememeye dikkat etmeniz gerekir.
Özel Kodunuz için İşaretleyiciler Oluşturma
Nadir durumlarda, kötü davranan bir eklenti # BEGIN
ve # END
işaretleyicilerinin dışındaki kodu değiştirebilir. Ancak, normalde WordPress veya diğer eklentiler tarafından kullanılan işaretleyiciler 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şaretleyicilerinizi ekleyebilirsiniz.
Örneğin, .htaccess dosyasının en üstüne # BEGIN MyCustomCode
ve # END MyCustomCode
işaretleyicilerini yazabilir ve ardından bu işaretleyiciler arasına kendi özel kurallarınızı ekleyebilirsiniz.
Ayrıca .htaccess’in sonuna kod eklemeniz gerekiyorsa, oraya farklı bir işaretleyici seti ekleyebilirsiniz. Sadece onlara farklı isimler verdiğinizden emin olun. Örneğin, ‘MyCustomCodeTop’ ve ‘MyCustomCodeBottom’ kullanabilirsiniz.
WordPress’in .htaccess’i Değiştirmesi Nasıl Durdurulur
Artık .htaccess’in nasıl çalıştığını anladığınıza göre, özel kodunuzun WordPress veya eklentileriniz tarafından üzerine yazılmayacağından emin olabilirsiniz.
Ancak bazı geliştiriciler ve ileri düzey kullanıcılar WordPress’in .htaccess üzerinde herhangi bir değişiklik yapmasını engellemek ister.
Örneğin, kalıcı bağlantıları .htaccess dosyasına ayarları manuel olarak yazarak oluşturmak isteyebilirsiniz. Bu durumda, WordPress’in kendi kalıcı bağlantı ayarlarını dosyaya kaydetmesini durdurarak çakışmaları önlemek isteyeceksiniz.
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 dosyasını 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, dosyaya sağ tıklamalı ve ‘Dosya izinleri’ni seçmelisiniz.
Bu, dosyanın niteliklerini değiştirebileceğiniz bir açılır pencere görüntüleyecektir.
Varsayılan ayar 644 olacaktır, ancak bunu doğrudan ‘Sayısal değer’ alanına yazarak veya yalnızca ‘Oku’ kutularının işaretli olduğundan emin olarak 444 olarak değiştirebilirsiniz.
‘Tamam’ düğmesine tıkladığınızda, dosya salt okunur olacak ve değiştirilemeyecektir.
Elbette bu, dosyaya yazamayacağınız anlamına da gelecektir. Değişiklik yapmak istediğinizde, dosya izinlerini geçici olarak 644’e geri ayarlamanız gerekecektir.
Kod Kullanarak WordPress’in .htaccess’i Değiştirmesini Durdurma
Başka bir çözüm de WordPress’in .htaccess dosyasına yazmamasını sağlayan bir kod parçacığı kullanmaktır. Bu, WordPress’in eklentilerinizi engellemeden .htaccess dosyasını değiştirmesini durdurmak istiyorsanız kullanışlıdır.
Not: Herhangi bir çekirdek WordPress dosyasını düzenlemek tehlikeli olabilir. Küçük bir hata bile sitenizde büyük hatalara neden olabilir. Bu yüzden bu yöntemi sadece 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ülenecektir.
Ayarlar ” Kalıcı Bağlantılar sayfasının üst kısmında ‘.htaccess dosyanızı şimdi güncellemelisiniz’ mesajını göreceksiniz.
Bu, WordPress’in .htaccess dosyasını değiştiremediğini bilmenizi sağlar.
Normalde amaçladığınız şey budur. 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ı belirten başka bir hata mesajı göreceksiniz. Bunun altında, .htaccess’e eklenmesi gereken kuralları göreceksiniz.
Bu ayarları eklemek isterseniz, düzenlenebilmesi için .htaccess dosya izinlerini geçici olarak 644 olarak değiştirmeniz gerekecektir. Bundan sonra, kuralları dosyanın WordPress BEGIN ve END işaretleri arasına yapıştırmalı ve zaten orada bulunan kodu değiştirmelisiniz.
İşiniz bittiğinde, değeri tekrar 444 olarak ayarlayın ve dosyayı kaydedin. Bir kez daha yazılamaz olacaktır.
WordPress’te .htaccess Hakkında Uzman Kılavuzları
Umarız bu eğitim WordPress’in .htaccess dosyasının üzerine yazmasını nasıl engelleyeceğinizi öğrenmenize yardımcı olmuştur. Ayrıca .htaccess dosyası ile ilgili diğer bazı kılavuzları da görmek isteyebilirsiniz:
- Sözlük: .htaccess
- WordPress .htaccess Dosyası Nasıl Düzeltilir (Başlangıç Kılavuzu)
- WordPress için En Yararlı .htaccess Püf Noktaları
- WordPress Sitenizde .htaccess Dosyasını Neden Bulamıyorsunuz?
- WordPress’te HTTP Güvenlik Başlıkları Nasıl Eklenir (Başlangıç Kılavuzu)
- WordPress’te Expires Başlıkları Nasıl Eklenir
- Yeni Başlayanlar İçin WordPress Hatalarını Giderme Rehberi (Adım Adım)
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Syed Balkhi
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
Jiří Vaněk
This was one of the first articles on WPBeginner when I deliberately searched for why a customer’s .htaccess was being overwritten. Now we know it, understand it, and also write .htaccess correctly. Many thanks for understanding the reason.
WPBeginner Support
Glad our guide could help!
Yönetici