Botların WordPress Sitenize Erişmesini Nasıl Kısıtlayabilirsiniz?

Belirli bir klasöre ve tüm içeriğine erişimi engellemeye çalışıyorum. İnternette önerilen yöntemleri kullanıyorum ama işe yaramıyor.

Bu yöntem hiçbir şey yapmaz:

RewriteRule ^folder_name/?$ - [F,L] ErrorDocument 403 default 

Ve bu dahili sunucu hatası getiriyor:

 deny from all  

Burada sorun ne?

Htaccess dosyam şöyle görünüyor:

RewriteEngine on Options -Indexes DirectoryIndex index.html RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L] #rewrite rules for base URLs RewriteRule ^([^/\.]+)[/]*$ $1\.html [QSA,L] 

  • 1 Görünüşe göre, htaccess'te Directory yönergesini kullanmamanız gerekiyor, ancak yeniden yazma kuralının neden çalışmadığı ilginç.
RewriteRule ^folder_name/?$ - [F,L] 

Bu, yalnızca klasöre erişimi engeller; içeriği değil (sondaki dize sonu bağlantısı nedeniyle). Ve mevcut mod_rewrite yönergelerine sahip olduğunuz için, en üste yaklaşması gerekecek, önce mevcut direktifler.

Genel olarak, önce engelleme yönergelerine sahip olmalısınız.

RewriteRule ^folder_name - [F] : remaining directives follow 

Alternatif olarak, başka bir tane yaratırsınız .htaccess tek bir yönerge ile engellemek istediğiniz dizinin içindeki dosya:

Require all denied 
  • Bu daha iyi bir cevap.

İşe yarayan bir yöntem buldum:

RedirectMatch 404 ^/folder_name/.*$ 
  • Ancak, mevcut mod_rewrite yönergelerinin, yönergelerin sırasına bakılmaksızın, bu mod_alias yönergesi işlenmeden önce hala işlendiğine dikkat edin, bu nedenle yeniden yönlendirme yine de olacaktır.

Sizin için çalışmış: Charles Robertson | bize ister?