Kategoriler
Kodlama

Sosuz döngüyü engellemek (.htaccess)

Sitenizin sonsuz yönlendirme döngüsünden kurtarmak için bir çözüm.

Bazen bir web sitesinde birçok farklı .htaccess çalışması ve birçok farklı kural, yönlendirme dolayısıyla sitede bir adrese girildiğinde(genellikle olmayan bir sayfa), sunucu normalde 404 ile döngüyü kapatması gerekirken sonsuza kadar yönlendirmeye devam eder. Böyle bir durumla karşılaşırsanız pratik olarak aşağıda örneğini vereceğim şekilde çözüme ulaşabilirsiniz.

İdeal olan aslında bu sonsuz döngünün olma sebebini bulup düzeltmek olabilir ancak “RewriteCond %{ENV:REDIRECT_STATUS}^$” bizi tüm bu işlerden kurtarır ve zaman kazanırsınız.

Sitenizin .htaccess dosyasındaki temel kuralın içerisine bunu yazarak sonsuz döngüden kurtulmanız mümkün, daha fazla bilgi için ➡ httpd.apache.org/docs/current/rewrite/intro.html Örneği WordPress için veriyorum:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
#buraya ekledik 
RewriteCond %{ENV:REDIRECT_STATUS}^$
#buraya ekledik 
RewriteCond %{REQUEST_FILENAME}!-f
RewriteCond %{REQUEST_FILENAME}!-d
RewriteRule . /index.php [L]
</IfModule>

Bu ne işinize yarar, ilk olarak sunucunuzun yorulmamasını sağlar ve hatalı sorgularla boşa maliyet ödemezsiniz. Diğeri bir miktar güvenlik sağlar, saçma sapan URLler ile sitenize yapılacak saldırıların bir kısmından zarar görmeyebilirsiniz, sanırım bu kadar 🙂 Kolay gelsin.