Kategoriler
Kodlama

.htaccess ile slash(-/-eğik çizgi) kontrolü

Apache mod_dir, DirectorySlash kontrolü. .htaccess ile eğik çizgileri kontrol etmek.

Bazı durumlarda web sitesinin adreslerindeki eğik çizgilerle(slashes “/”) sorun yaşayabilirsiniz bunu aşmak için buradaki .htaccess kurallarından birini kullanabilirsiniz.

Eğer problem sitede çalışan URL’lerin birden fazla (//) ile çalışmasını engellemek ve doğru olan adrese yönlendirmek ise:

# Birden fazla eğik çizgiyi kaldır
RewriteCond %{REQUEST_METHOD}!=POST
RewriteCond %{THE_REQUEST}\//+
RewriteRule (.*) /$1 [R=301,L]

Eğer her url(dosyalar hariç) eğik çizgi ile bitmeli diyorsanız:

RewriteCond %{REQUEST_FILENAME}!-f
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]

Eğer eğik çizgi ile biten bir URL istemiyorsanız:

DirectorySlash Off
//veya
RewriteCond %{REQUEST_FILENAME}!-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
//veya
RedirectMatch 301 ^(.+)/$ $1

Ek bir bilgi olarak; WordPress kendi sayfaları için bu işi PHP ile otomatik yapabiliyor ancak .htaccess ile verilen bir kural PHP’ye göre 10 kat daha performanslı ve hızlı çalışmaktadır ayrıca sunucuya yük binmemektedir.

.htaccess ipucu: çift slash kaldırma, düzeltme
Sosuz döngüyü engellemek [.htaccess]: Sitenizin sonsuz yönlendirme döngüsünden kurtarmak için bir çözüm.
WordPress wp-content hack: wp-content klasöründe var olmayan görseller için 404 sayfası yerine varsayılan bir resim göstermek.
WordPress kalıcı bağlantılarda kategori ön ek dizini nasıl kaldırılır: WordPress normal post kategorilerinde ve custom post kategorilerinde ön ek dizini kaldırmak mümkün.

URL’lerde standartlaştırma(canonical) ve SEO için hem de sunucuya daha az yük binmesi açısından hem de kullanıcı deneyimi açısından önemli bir durumdur, dolayısıyla bu ve benzeri geliştirmeler aslında önemlidir.

Kaynak: httpd.apache.org/docs/current/mod/mod_dir.html

Kolay gelsin.