WordPress'in .htaccess Dosyasının Üzerine Yazması Nasıl Durdurulur?

Yayınlanan: 2024-08-28

Bu, birçok WordPress kullanıcısının yaşadığı yaygın bir sorundur: WordPress, istemeden özel .htaccess dosyanızın üzerine kendisi veya eklentileri aracılığıyla yazar veya düzenler.

Bu genellikle fark edilmeden gerçekleşir ve bir şeyler ters gitmeye başlayana veya istenmeyen bir değişiklik etkili olana kadar sitenizin içeriği üzerinde hemen bir etkisi olmaz.

Varsayılan olarak WordPress, yapılandırma ve izin ayarlarına bağlı olarak .htaccess dosyasını sessizce otomatik olarak düzenleyebilir veya üzerine yazabilir. WordPress eklentileri bile .htaccess dosyasını kendi yapılandırmalarına uyacak şekilde değiştirme eğilimindedir.

Bu genellikle zararsız olsa da, üçüncü taraf eklentiler veya temalar temel web sitesi ayarlarını geçersiz kılan kod eklediğinde sorun yaratabilir ve potansiyel olarak güvenlik risklerine veya performans sorunlarına yol açabilir.

Bu gibi durumları önlemenize yardımcı olmak için .htaccess dosyasının üzerine yazılmasını nasıl önleyeceğiniz konusunda size yol göstereceğiz. O halde daha fazla vakit kaybetmeden konuya girelim.


İçindekiler
.htaccess dosyası nasıl çalışır ve Wpoven neden .htaccess dosyasının içeriğinin üzerine yazar?
WordPress'in .htacess dosyasının kurallarının üzerine yazması nasıl durdurulur?
Çözüm
Sıkça Sorulan Sorular

.htaccess dosyası nasıl çalışır ve Wpoven neden .htaccess dosyasının içeriğinin üzerine yazar?

WordPress veya eklentilerin .htaccess dosyasının üzerine yazmasını engellemenin en iyi yolu öncelikle .htaccess dosyasının nasıl çalıştığını öğrenmektir. Sorunun temel nedenini anlamanıza ve ne yapmamanız gerektiğini anlamanıza yardımcı olacaktır.

Dolayısıyla .htaccess dosyaları, web sitenizin nasıl davranması gerektiğine ilişkin bir dizi talimat içeren bir kural kitabı gibidir.

Ana amacı içeriğin nasıl görüntülenmesi gerektiğini ve belirli eklentilerin nasıl çalıştığını yönetmektir. Örneğin, .htaccess dosyasından, URL'leri SEO dostu ve temiz hale getiren 301 yönlendirme kuralını da ayarlayabilirsiniz.

Ancak siz veya bir başkası, URL yapısını değiştirmek gibi bir şekilde web sitesini güncellemeye çalışırsanız, WordPress bu değişiklikleri yansıtacak şekilde .htaccess dosyasını da otomatik olarak güncelleyecektir.

Benzer şekilde sitenize ekstra özellikler eklemek için kullanabileceğiniz WordPress eklentilerini yüklediğinizde dosyaya kendi kurallarını/talimatlarını da ekleyebilirsiniz.

Ancak sorun bu değil, işin zor kısmı, bu değişiklikler gerçekleştiğinde, koyduğunuz orijinal talimatların üzerine yazılabilmesi, değiştirilebilmesi veya silinebilmesidir.

Bu, siz böyle olmasını istemeseniz bile web sitenizin çalışmasını veya görünümünü bozabilir. Bu nedenle, bu tür senaryoları durdurmak veya önlemek için aşağıda belirtilen bazı ipuçlarını/talimatları uygulamanız gerekir:


WordPress'in .htacess dosyasının kurallarının üzerine yazması nasıl durdurulur?

.htaccess dosyası web sitenizin çalışmasını temel alan kurallar veya talimatlar içerdiğinden, yukarıdaki senaryolarda üzerine yazılmasını önlemek için dosyaya özel bir dizi kural da eklenebilir.

İşte bunu nasıl yapabileceğiniz.

  • WordPress işaretçileri veya Etiketler arasına kural eklemekten veya düzenlemekten kaçının
  • Eklenti işaretçileri veya Etiketler arasına kural eklemekten veya düzenlemekten kaçının
  • WordPress'in .htaccess dosyasının üzerine yazmasını önlemek için dosya iznini ayarlayın
  • wp-config.php dosyasına kod ekleyerek WordPress'in .htacess dosyasının üzerine yazmasını engelleyin

1. WordPress işaretçileri veya Etiketler arasına kural eklemekten veya düzenlemekten kaçının

Daha önce de belirttiğimiz gibi WordPress, yapılandırılmış ve temiz SEO dostu URL'ler oluşturmak gibi belirli WordPress ayarlarını yönetmek için bir .htaccess dosyası kullanır.

“Kalıcı bağlantılar” olarak da adlandırılan URL yapılarını değiştirdiğinizde WordPress bu dosyadaki kodu da otomatik olarak günceller.

Bu kalıcı bağlantı ayarları iki WordPress etiketi veya işaretçisi arasına kaydedilir: # BEGIN WordPress ve # END WordPress .

Avoid adding or editing rules between the WordPress markers or Tags
WordPress işaretçileri veya Etiketler arasına kural eklemekten veya düzenlemekten kaçının

Bu iki WordPress etiketi arasındaki bu özel alan tamamen WordPress'e ayrılmıştır ve ayrıca bu işaretçiler arasında yapacağınız değişikliklerin WordPress'in dosyayı bir sonraki güncellemesinde üzerine yazılacağı konusunda sizi uyarır.

Yapılacaklar : Ancak en iyi yanı, WordPress'in bu işaretleyicilerin veya etiketlerin dışında eklediğiniz hiçbir koda dokunmamasıdır. Bu, herhangi bir özel kod eklemek istiyorsanız, onu dosyanın en üstüne, # BEGIN WordPress işaretleyicisinden önce eklemeyi veya eklemeyi deneyin anlamına gelir.

Yapmayın: Ancak özel kodunuzu WordPress işaretçileri arasına eklemekten veya eklemekten kaçının çünkü WordPress ayarlarını güncellediğinde silinecek veya değiştirilecektir. Özel ayarlarınızı güvende tutmak için onları her zaman bu işaretleyicilerin dışına yerleştirin.


WPOven

2. Eklenti işaretçileri veya Etiketler arasına kural eklemekten veya düzenlemekten kaçının

Tıpkı WordPress işaretçileri gibi, eklenti işaretçileri veya etiketleri arasına kural eklemekten veya düzenlemekten de kaçınmanız gerekir.

Bunun nedeni, eklentilerin de WordPress'e benzer şekilde .htaccess dosyasına kendi kurallarını ekleyebilmesi ve bunu yaptıklarında eklentinin adını içeren özel işaretleyiciler veya etiketlerle alanı ayırmalarıdır.

Örneğin “WProcket” isimli bir eklenti kural eklerse bunları # BEGIN WP Rocke t Tarayıcı Önbelleği ve # END WP Rocket Tarayıcı Önbelleği ile işaretleyecektir.

Avoid adding or editing rules between the Plugin markers or Tags
Eklenti işaretçileri veya Etiketler arasına kural eklemekten veya düzenlemekten kaçının

Bu, eklentinin bu iki işaretçi arasına eklediği herhangi bir talimatın veya kuralın yalnızca eklenti tarafından tamamen kontrol edildiği anlamına gelir. Eklentinin ayarlarını değiştirmeniz durumunda, eklenti bu kuralları güncelleyecek ve potansiyel olarak bu işaretçiler veya etiketler arasındaki herhangi bir şeyin üzerine yazacaktır.

Bu nedenle, kaybetmek istemediğiniz özel kurallarınız varsa, bunları eklentiye özel işaretleyicilerin arasına yerleştirmeyin.

Özel işaretçiler veya etiketler kullanarak özel kurallar ekleyin

Bunun yerine, sahip olduğunuz özel kuralları eklemek için işaretleyiciler veya etiketler oluşturabilir ve bunları WordPress ve eklentiler tarafından oluşturulan bölümlerden ayrı tutabilirsiniz.

Bu yöntem, WordPress yönetiminde veya Eklenti ayarlarında yapılan düzenlemelerin veya değişikliklerin bu bölümün üzerine yazılmamasını garanti eder.

Bunu nasıl yapabileceğiniz aşağıda açıklanmıştır:

yourdomain.com yapılan herhangi bir isteği https://www.yourdomain.com adresine yönlendirmeniz gerektiğini varsayalım, böylece ziyaretçileriniz her zaman sitenizin URL'sinde "www" bulunan sürümüne yönlendirilir.

Bu özel kuralı uygulamak için, .htaccess dosyasının üst kısmındaki # BEGIN Custom Rules # END Custom Rules etiketlerini kullanın. Ardından talimatlarınızı veya özel kurallarınızı bu işaretçilerin içine ekleyin.

Biraz şöyle olacak:

# BEGIN Custom Rules

RewriteEngine On

RewriteCond %{HTTP_HOST} ^yourdomain\.com$

RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R=301,L]

# END Custom Rules


Okuyun: WordPress .htaccess Dosyası: Nasıl Oluşturulur ve Düzenlenir?


3. WordPress'in .htaccess dosyasının üzerine yazmasını önlemek için dosya iznini ayarlayın

WordPress'in .htaccess dosyasının üzerine yazmasını önlemenize yardımcı olabilecek üçüncü yöntem, dosya izinlerini "salt okunur" olarak ayarlamaktır.

Bunu uygulamak için .htaccess dosyasına bir FTP istemcisi veya WordPress barındırma sağlayıcınız tarafından sağlanan dosya yöneticisini kullanarak erişmeniz gerekir.

FTP istemcisine veya dosya yöneticisine giriş yaptıktan sonra, büyük olasılıkla WordPress kurulumunuzun kök dizininde bulunan .htaccess dosyasını arayın.

Daha sonra dosyayı sağ tıklayın ve 'Dosya İzinleri'ni seçin.

Set file permission to avoid WordPress from overwriting .htaccess file
WordPress'in .htaccess dosyasının üzerine yazmasını önlemek için dosya iznini ayarlayın

Varsayılan ayarın genellikle 644 olduğu, tüm dosya özniteliklerini içeren bir açılır pencere görünecektir, ancak değeri doğrudan 'Sayısal değer' alanına girerek veya yalnızca 'Oku' seçeneğinin etkinleştirilmesini sağlayarak bunu 444 olarak değiştirebilirsiniz. kutucuklar kontrol edilir.

Set file attributes in the .htaccess file to read-only.
.htaccess dosyasındaki dosya özniteliklerini salt okunur olarak ayarlayın

.htaccess dosyası izinlerini 444'e (salt okunur) ayarladığınızda, dosya değiştirilmeye karşı korunacaktır.

Not: Bunun aynı zamanda dosyada herhangi bir değişiklik yapmanıza da izin vermeyeceğini her zaman unutmayın. Dosyayı güncellemeniz gerekiyorsa izinleri geçici olarak tekrar 644 olarak değiştirmeniz gerekecektir.


4. wp-config.php dosyasına kod ekleyerek WordPress'in .htacess dosyasının üzerine yazmasını engelleyin

Uygulayabileceğiniz son yöntem, aşağıdaki kod parçasını wp-config.php dosyanıza eklemektir.

add_filter('got_rewrite', '__return_false');

WordPress'in eklentilerinizi etkilemeden .htaccess dosyasını değiştirmesini önlemek istiyorsanız bu yaklaşım kullanışlıdır.

Not: Temel WordPress dosyalarını düzenlemek veya yönetmek riskli olabilir ve bir şeyler ters giderse web sitenize potansiyel zarar verebilir. Bir uzmandan yardım almanız veya web geliştiricinizle iletişime geçmeniz önerilir.

Şimdi bunu uygulamak için,

1. Kimlik bilgilerinizi kullanarak cPanel veya FTP'nizde oturum açın.

2. Web sitenizin kök dizinine gidin ve wp-config.php dosyasını bulun.

3. Düzenlemek için wp-config.php dosyasını açın.

Opening Wp-config.php file
Wp-config.php dosyasını açma

4. Aşağıdaki satırı resimde gösterildiği gibi dosyaya manuel olarak ekleyin

add_filter('got_rewrite', '__return_false');

Inserting code in the Wp-config.php file to stop WordPress from overwriting the .htaccess file
WordPress'in .htaccess dosyasının üzerine yazmasını durdurmak için Wp-config.php dosyasına kod ekleme

5. Kodu ekledikten sonra dosyayı kaydedin.

6. Kaydedildikten sonra WordPress, URL biçiminde veya diğer ilgili ayarlarda yapılan değişiklikler de dahil olmak üzere dosyada artık herhangi bir değişiklik yapamayacaktır.

Bu yöntemi izledikten sonra WordPress herhangi bir değişiklik yapamayacak veya .htaccess dosyasının üzerine yazamayacaktır.


WPOven Dedicated Hosting

Çözüm

Önlemenin tedavi etmekten daha iyi olduğu her zaman söylenir. Benzer şekilde, WordPress işaretçileri veya etiketleri arasına ve ayrıca WordPress eklenti işaretçileri ve etiketleri arasına kural eklemekten veya düzenlemekten kaçınmak gibi önleyici tedbirler alabilirsiniz.

Ek olarak, bazı kurallar ayarlayabilir ve .htaccess dosyasında herhangi bir değişiklik yapılmasına tamamen izin vermemek için salt okunur yöntemini kullanabilirsiniz.

Yukarıdaki yöntemlerin WordPress'in .htaccess dosyasının üzerine yazmasını engellemenize yardımcı olacağını umuyoruz. Bu yazıyla ilgili herhangi bir sorunuz varsa, lütfen aşağıdaki yorum bölümünde bize bildirin.


Sıkça Sorulan Sorular

Özelleştirilmiş .htaccess kurallarım WordPress yükseltme işlemlerinden etkilenecek mi?

Hayır, özelleştirilmiş .htaccess kurallarınız # BEGIN WordPress ve # END WordPress işaretleyicilerinin dışına yerleştirilirse WordPress yükseltmelerinden etkilenmeyecektir. WordPress yalnızca bu işaretleyiciler arasındaki kodu değiştirir.

Özel .htaccess bölümlerini kullanmanın herhangi bir dezavantajı var mı?

Evet, Özel .htaccess kuralları karmaşıklığa neden olabilir ve potansiyel olarak çakışmalara veya hatalara yol açabilir. Kuralları doğru şekilde yapılandırmazsanız sitenizin performansı da etkilenebilir veya sunucu sorunlarına neden olabilir. Ayrıca sunucu yapılandırmaları, eklentiler veya WordPress'in kendisi değiştirilirse bu kuralların güncellenmesi gerekebilir. Yanlış kurallar dikkatli bir şekilde yönetilmediği takdirde yanlışlıkla güvenlik açıkları yaratabileceğinden güvenlik riskleri de vardır.

Bir eklentiyi güncellediğimde kişiselleştirilmiş .htaccess kurallarımın kaybolmadığından nasıl emin olabilirim?

Eklentileri güncellerken özel .htaccess kurallarınızı güvende tutmak için kurallarınızı WordPress ve eklentilerin kullandığı # BEGIN ve # END işaretçilerinin dışına yerleştirdiğinizden emin olun. Kurallarınızı ayrı tutmak için kendi işaretçilerinizi de oluşturabilirsiniz. Gerektiğinde kolayca geri yükleyebilmeniz için .htaccess dosyanızı düzenli olarak yedekleyin. Eklentileri güncelledikten sonra, özel kurallarınızın hala orada olduğundan ve kaybolmadığından emin olmak için .htaccess dosyasını kontrol edin.