Apache Sunucuda Rewrite Kuralları
Apache web sunucularında URL yönlendirmeleri ve temiz URL yapıları oluşturmak için en sık kullanılan araçlardan biri
mod_rewrite modülüdür. Bu modül sayesinde URL'leri dinamik veya statik hale getirerek, SEO uyumlu, kullanıcı dostu ve güvenli siteler geliştirebilirsiniz. Ancak, doğru ve etkili kullanabilmek için temel kuralları ve yapılandırmaları iyi anlamak gerekir.
İlk olarak,
mod_rewrite'in aktif olması gerekir. Bu genellikle
httpd.conf veya
.htaccess dosyası içinde aşağıdaki satırla sağlanır:
1LoadModule rewrite_module modules/mod_rewrite.so
Daha sonra,
.htaccess veya ana yapılandırma dosyasında RewriteEngine’yi
on yaparız:
En temel rewrite kuralı şu şekildedir:
[code]RewriteRule pattern target [flags]
Burada,
pattern gelen URL'yi eşleştirmeyi sağlar,
target ise yönlendirme veya yeniden yazma işleminin hedefidir. Örneğin, tüm
old-page.html isteklerini
new-page.html'ye yönlendirmek için:
[code]RewriteRule ^old-page\.html$ new-page.html [R=301,L]
Burada,
R=301 kalıcı yönlendirme (SEO açısından önemli),
L ise bu kuralın son olduğunu belirtir.
İleri düzey kullanımlarında, URL parametrelerini yakalamak ve yeniden kullanmak yaygındır. Örneğin:
[code]RewriteRule ^product/([0-9]+)/?$ product.php?id=$1 [L]
Bu kuralla,
product/123 gibi URL'ler
product.php?id=123'ye çevrilir. Bu, URL yapısını temiz ve düzenli tutarken, arka planda dinamik içerik sağlama imkanı tanır.
Ayrıca, koşula dayalı yönlendirmeler yapmak için
RewriteCond kullanılır. Örneğin, sadece belirli bir dizin veya tarayıcı türü için kurallar eklenebilir:
[code]RewriteCond %{HTTP_USER_AGENT} ^Mozilla.*$
RewriteRule ^special-page\.html$ special-mozilla.html [L]
Bunun yanı sıra,
flags kullanımı kuralların davranışını belirler.
QSA (Query String Append), orijinal URL'deki sorgu parametrelerini korur;
NC (No Case) ise büyük/küçük harf duyarsızlığı sağlar.
Sonuç olarak, Apache'de rewrite kuralları doğru yapılandırıldığında, sitenizin URL yapısı temizlenir, kullanıcı deneyimi artar ve SEO performansı iyileşir. Ancak, karmaşık kurallarda dikkatli olmak ve test etmek önemlidir; yanlış yapılandırmalar site erişimini engelleyebilir veya arama motorları tarafından yanlış anlaşılmaya neden olabilir. Bu nedenle, her değişiklik öncesinde yedek almak ve test ortamında doğrulama yapmak en iyi uygulamadır.