Web projelerinde URL yönetimi, kullanıcı deneyimi ve SEO açısından kritik öneme sahiptir. Apache sunucularında .htaccess dosyası, özellikle URL yönlendirmeleri için güçlü ve esnek bir araçtır. Bu yazıda, .htaccess dosyasını kullanarak farklı türlerde URL yönlendirmelerinin nasıl gerçekleştirileceğini teknik detaylarla açıklayacağız.
Temel URL Yönlendirme Komutları ve Kullanımları
.htaccess dosyasında yönlendirme işlemi çoğunlukla Redirect veya RewriteRule direktifleriyle yapılır. En basit haliyle, bir URL’yi başka bir adresine yönlendirmek için aşağıdaki gibi bir komut kullanılır:
Redirect 301 /eski-sayfa.html https://www.orneksite.com/yeni-sayfa.html
Bu komut, kalıcı (301) yönlendirme için kullanılır ve tarayıcılara eski URL’nin kalıcı olarak yeni URL’ye taşındığını bildirir.
RewriteEngine ile Dinamik ve Koşullu Yönlendirmeler
Daha karmaşık senaryolar için Apache’nin mod_rewrite modülü devreye girer. Bu modül sayesinde, URL kalıplarına göre koşullu yönlendirmeler yapılabilir:
RewriteEngine On
# Eski uzantılı tüm .php sayfalarını aynı isimle .html uzantısına yönlendir
RewriteRule ^(.*)\.php$ /$1.html [R=301,L]
# Belirli bir parametre varsa yönlendirme
RewriteCond %{QUERY_STRING} (^|&)id=123(&|$)
RewriteRule ^urunler$ /ozel-urun [R=302,L]
Burada RewriteEngine On ifadesi modülü aktif eder. RewriteRule ve RewriteCond ile URL desenleri ve koşullar tanımlanır. Örneğin, uzantı dönüşümü veya sorgu parametresine göre yönlendirme yapılabilir.
Sık Karşılaşılan Kullanım Senaryoları
- Domain değişikliği: Tüm eski domain trafiğini yeni domaine taşımak için global yönlendirme.
- HTTPS zorunluluğu: Ziyaretçileri güvenli bağlantıya otomatik yönlendirmek.
- URL standartizasyonu: www olmadan www’ye veya tersi yönlendirme yaparak tutarlılık sağlamak.
# Tüm HTTP isteklerini HTTPS yönlendirme
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
# www'li versiyona yönlendirme
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
.htaccess dosyası, girilen hızlı değişikliklerle çevrimiçi varlığınız üzerinde kapsamlı kontrol sağlar. Ancak, direktiflerde yapılacak hatalar site erişimini etkileyebilir. Bu yüzden düzenleme öncesinde mutlaka yedek alınması ve test edilmesi önerilir.
Web projelerinizin performansını artıracak ve kesintisiz erişim için güvenilir hosting çözümleri arıyorsanız, SNET’in kurumsal hosting hizmetleri ideal tercihiniz olacaktır. Güçlü donanım altyapısı ve uzman destek ekibi ile projelerinizin her aşamasında yanınızdayız. Detaylı bilgi için Kurumsal Hosting sayfamızı ziyaret edebilirsiniz.
