Location Redirection
Location Redirection Aksiyonu Nedir?
Location Redirection aksiyonu, gelen HTTP isteklerini belirtilen bir URL'ye yönlendirir. Bu aksiyon, tarayıcıya HTTP yönlendirme yanıtı (3xx) göndererek istemciyi yeni konuma yönlendirir.
Bu aksiyon yalnızca istek (request) aşamasında çalışır ve koşul (condition) gerektirir.
Host: eski-domain.com
Location: https://yeni-domain.com/page
Location Redirection Aksiyonunun Önemi
URL yönlendirmesi, modern web yönetiminin temel bileşenlerinden biridir. Domain değişiklikleri, URL yapısı güncellemeleri ve trafik yönetimi için kritik öneme sahiptir.
Location Redirection aksiyonu;
- Domain veya subdomain değişikliklerinde trafiği yönlendirir,
- URL yapısı değişikliklerinde eski URL'leri korur (SEO),
- Coğrafi veya cihaz bazlı yönlendirme sağlar,
- Bakım veya geçici sayfalara yönlendirme yapar,
- Smart Variables ile dinamik yönlendirme URL'leri oluşturur.
Bu nedenle Location Redirection aksiyonu, esnek ve güçlü URL yönetimi için kritik bir bileşendir.
HTTP Yönlendirme Kodları
Yönlendirme sırasında kullanılabilecek HTTP durum kodları:
| Kod | İsim | Açıklama | Kullanım Alanı |
|---|---|---|---|
| 301 | Moved Permanently | Kalıcı yönlendirme | Domain değişikliği, URL yapısı değişikliği (SEO için önerilir) |
| 302 | Found | Geçici yönlendirme | Geçici yönlendirmeler, A/B testing |
| 303 | See Other | GET ile yönlendirme | POST işlemi sonrası GET sayfasına yönlendirme |
| 307 | Temporary Redirect | Geçici yönlendirme (metod korunur) | POST/PUT metodunun korunması gereken durumlar |
| 308 | Permanent Redirect | Kalıcı yönlendirme (metod korunur) | Kalıcı yönlendirme, POST metodunun korunması |
TIP
Kalıcı URL değişikliklerinde 301 kullanılır. Arama motorları 301 yönlendirmelerini kalıcı kabul eder ve sayfa değerini (link juice) aktarır.
Kullanılabildiği vService Tipleri
Çalışma Anı
Nasıl Eklenir?
Yeni bir Location Redirection Aksiyonu, TR7 web yönetim arayüzü üzerinden aşağıdaki adımlar izlenerek eklenebilir:
- Sol altta bulunan TR7 logosuna tıklanarak Configuration Menu açılır.
- Load Balancer → Actions → Add adımları takip edilir.
- Aksiyon için benzersiz ve açıklayıcı bir isim girilir.
- Action Type olarak Location Redirection seçilir.
- Aksiyona ait ilgili konfigürasyonlar yapılandırılır.
- Conditions sekmesinden aksiyonun hangi koşul/koşullarda devreye gireceği belirlenir.
Addbutonuna tıklanarak aksiyon eklenir.
Location Redirection Aksiyonu Ekleme Formu
Location Redirection Aksiyonu Ekleme Formu
INFO
Action Type
Aksiyon tipi olarak Location redirection seçilir.
Aksiyon yalnızca istek aşamasında çalıştığından formda Execution Level ve Rule Protocol alanları bulunmaz. Aynı vService'e birden fazla yönlendirme aksiyonu eklenebilir.
INFO
Hit Counter Varsayılan: Kapalı
Hit Counter, aksiyonun her çalışmasını sayar (aksiyonun kendi koşuluyla birlikte değerlendirilir; Deny gibi sonlandırıcı aksiyonlarda bile sayım kaybolmaz). Aksiyon bazlı hız ve toplamlar, vService panosundaki Action Hits sekmesinde ve canlı istatistik ekranında görüntülenir; listelerde ayrıca bir kolon olarak görünmez. Sayaç kümülatiftir; elle sıfırlama arayüzü yoktur: sayılan aksiyon kümesi değiştiğinde veya vService yeniden yüklendiğinde sıfırdan başlar, geçmiş ise panoda hız (hit/s) olarak korunur.
Yönlendirme isteği sonlandırdığı halde sayım kaybolmaz; sayaç aksiyon satırından önce işlenir.
INFO
Set Variable on Hit
Aksiyon her çalıştığında değeri atanacak bir değişken adı girilebilir (isteğe bağlı; varsayılan boş). Ad; harf, rakam ve alt çizgiden oluşabilir (en fazla 32 karakter). Aksiyon tetiklendiğinde değişken 1 değerine atanır ve aynı vService'teki diğer koşul ve aksiyonlarda %TR7VAR(ad) akıllı değişkeniyle okunarak zincirleme davranışlar kurulabilir.
INFO
Redirect Code Varsayılan: 301
İstemciye gönderilecek HTTP yönlendirme durum kodu seçilir.
Yönlendirme sırasında kullanılabilecek HTTP durum kodları:
| Kod | İsim | Açıklama | Kullanım Alanı |
|---|---|---|---|
| 301 | Moved Permanently | Kalıcı yönlendirme | Domain değişikliği, URL yapısı değişikliği (SEO için önerilir) |
| 302 | Found | Geçici yönlendirme | Geçici yönlendirmeler, A/B testing |
| 303 | See Other | GET ile yönlendirme | POST işlemi sonrası GET sayfasına yönlendirme |
| 307 | Temporary Redirect | Geçici yönlendirme (metod korunur) | POST/PUT metodunun korunması gereken durumlar |
| 308 | Permanent Redirect | Kalıcı yönlendirme (metod korunur) | Kalıcı yönlendirme, POST metodunun korunması |
INFO
Redirect Location Zorunlu
İstemcinin yönlendirileceği hedef URL bilgisi girilir. Tam URL (protokol dahil) veya göreli path olabilir.
TIP
Bu alan Smart Variables destekler. fx butonu ile mevcut değişkenlere erişilebilir ve dinamik içerik oluşturulabilir.
Örnek değişkenler: istek dizini (Path), istek dizini + parametreler (PathQ), parametreler (Query) ve istek başlığı içeriği. Sabit metin değerleri de girilebilir; ikisi bir arada kullanılabilir.
Ayrı bir "Host" değişkeni yoktur; alan adı gerekiyorsa İstek Başlık bilgisi değişkeni host başlık adıyla kullanılır. Alana eklenen değişkenler kısa etiketli birer çip olarak görünür (ör. ↓Path, ↓PathQ, ↓Query); çipe tıklandığında Değişken düzenle penceresi açılır.
Detaylı bilgi Variables sayfasında yer alır.
Smart Variable kullanımı örneği
Desteklenen formatlar:
| Format | Örnek (Redirect Location) | Açıklama |
|---|---|---|
| Tam URL | https://newsite.com/page | Farklı domain'e yönlendirme |
| Protokol-göreceli | //newsite.com/page | Aynı protokolü koruyarak yönlendirme |
| Kök-göreceli | /new-path | Aynı domain'de farklı path'e yönlendirme |
| Dinamik | https://newsite.com[İsteğin yapıldığı dizin/sayfa] | Orijinal path'i koruyarak yönlendirme |
Dinamik URL örnekleri: Smart Variables ile dinamik yönlendirmeler oluşturulur:
https://new-domain.com[İsteğin yapıldığı dizin/sayfa]: Aynı path'e farklı domain'e yönlendirhttps://example.com[İsteğin yapıldığı dizin/sayfa][Tüm istek parametreleri (query)]: Path ve query string'i koruhttps://+ İstek Başlık bilgisi (host) +/new-path: Aynı alan adında farklı dizine yönlendirir
INFO
Conditions
Bu alanda, ilgili aksiyonun hangi koşul veya koşullar sağlandığında devreye gireceği tanımlanır.
Bir veya birden fazla koşul eklenerek, and/or yapısı ile davranışın hedefli ve kontrollü şekilde uygulanması sağlanabilir.
Koşullar hakkında detaylı bilgi Conditions sayfasında yer alır.
WARNING
Bu aksiyon koşul gerektirir. Koşul tanımlanmadan da kaydedilebilir; ancak bu durumda kural yapılandırmaya hiçbir zaman çalışmayacak biçimde yazılır ve yönlendirme gerçekleşmez. Arayüz bu durumda uyarı vermez, bu nedenle en az bir koşul tanımlanmış olduğu kayıttan sonra doğrulanmalıdır.
INFO
Form Butonları
Add
Add butonuna tıklanarak aksiyon ekleme işlemi tamamlanır.
Add & Repeat
Add & Repeat butonu ile aksiyon ekleme işlemi tamamlanır ve farklı konfigürasyonlarla ilgili pencereden çıkılmadan yeni bir aksiyon daha eklenebilir.
Aksiyon Eklendi
Yönlendirmenin Çalışma Biçimi
Yönlendirme isteği sonlandırır
Koşul sağlandığında istek Kurum Servisine hiç iletilmez; yanıt doğrudan TR7 tarafından üretilir. Aksiyon listesinde bu aksiyondan sonra gelen aksiyonlar çalışmaz ve trafik dağıtımı yapılmaz. Bu nedenle yönlendirme aksiyonları listede genellikle en sonda konumlandırılır.
İşlem raporlarda REDIRECT sonucuyla görüntülenir.
Dizin ve parametreler otomatik taşınmaz
Hedef adres, girildiği biçimde Location başlığına yazılır. İsteğin dizini ve parametreleri kendiliğinden eklenmez; korunması isteniyorsa hedef adrese PathQ veya Query değişkenleri elle eklenmelidir.
Girilen adres biçimsel olarak doğrulanmaz. Hedefin aynı vService'e düşmesi ve koşulun yeni istekte de sağlanması durumunda sonsuz yönlendirme döngüsü oluşur; TR7 bu durumu engellemez.
Operasyonel ve Güvenli Kullanım Önerileri
- Sonsuz döngüden kaçınılır. Yönlendirme hedefinin yönlendirme koşulunu yeniden tetiklemediği doğrulanır; aksi hâlde sonsuz yönlendirme döngüsü oluşur ve tarayıcı hata verir.
- SEO için 301 kullanılır. Kalıcı URL değişikliklerinde 301 seçilir; bu, arama motorlarının yeni URL'yi indekslemesini ve sayfa değerinin aktarılmasını sağlar.
- POST isteklerinde dikkatli olunur. 301 ve 302 kodları POST isteklerini GET'e çevirir; POST metodunun korunması için 307 ya da 308 kullanılır.
- Koşullar spesifik tutulur. Yönlendirme koşulları olabildiğince dar tanımlanır; geniş koşullar beklenmedik trafiği de etkiler.
- Smart Variables ile dinamik yönlendirme. Path, query string ya da host bilgilerinin korunması için Smart Variables kullanılır; böylece URL yapısı korunurken domain değişikliği yapılabilir.
Canlı Ortamlarda Yaygın Kullanım Senaryoları
Aşağıdaki örnekler, ilgili aksiyonun gerçek sistemlerde en sık karşılaşılan kullanım senaryolarında nasıl uygulandığını göstermektedir. Bu senaryolar, canlı ortamlarda yaygın olarak tercih edilen ve sahada edinilmiş deneyimlere dayanan pratikleri temel alır.
Senaryo 1: www Olmadan Gelen Trafiği www'ya Yönlendirme
Problem: Web sitesi www.example.com olarak çalışıyor ama kullanıcılar example.com yazarak erişmeye çalışıyor. Arama motorları iki farklı site olarak görüyor ve SEO değeri bölünüyor.
Çözüm: 301 kalıcı yönlendirmeyle example.com trafiği www.example.com adresine yönlendirilir ve SEO değeri birleştirilir.
Konfigürasyon:
- Redirect Code: 301 Moved Permanently
- Redirect Location:
https://www.example.com+ Smart Variables (fx) butonundan Path ve Query String değişkenleri seçilir - Conditions: HTTP Header Host =
example.com
Sonuç:
- ✅ example.com/page?id=123 → www.example.com/page?id=123 (301 redirect).
- ✅ SEO değeri → www.example.com altında birleşir, arama motoru sıralaması iyileşir.
- ✅ URL yapısı → Path ve query string korunur.
- ❌ www.example.com → Etkilenmez, normal şekilde çalışır.
Senaryo 2: Eski URL Yapısından Yeni Yapıya SEO Koruma
Problem: URL yapısı /product.php?id=123 formatından /products/123 formatına değiştirildi. Eski URL'ler arama motorlarında ve bookmark'larda hala mevcut, 404 hatası veriyor.
Çözüm: 301 yönlendirmeyle eski URL yapısı yeni yapıya yönlendirilir ve SEO değeri korunur.
Konfigürasyon:
- Redirect Code: 301 Moved Permanently
- Redirect Location:
/products/+ Smart Variables (fx) butonundan Query Parameter değişkeni seçilir (id parametresi) - Conditions: Path =
/product.php
Sonuç:
- ✅ /product.php?id=123 → /products/123 (301 redirect).
- ✅ SEO değeri → Eski URL'in arama motoru değeri yeni URL'e aktarılır.
- ✅ Bookmark'lar → Kullanıcıların eski bookmark'ları çalışmaya devam eder.
- ❌ Yeni URL'ler → Etkilenmez, normal şekilde çalışır.
Senaryo 3: Mobil Kullanıcıları Mobil Siteye Yönlendirme
Problem: Masaüstü ve mobil için ayrı siteler var (www.example.com ve m.example.com). Mobil kullanıcılar masaüstü siteye erişince kötü deneyim yaşıyor.
Çözüm: 302 geçici yönlendirmeyle mobil cihazlardan gelen trafik mobil siteye yönlendirilir.
Konfigürasyon:
- Redirect Code: 302 Found
- Redirect Location:
https://m.example.com+ Smart Variables (fx) butonundan Path ve Query String değişkenleri seçilir - Conditions: Browser =
Mobile
Sonuç:
- ✅ Mobil cihazlar → m.example.com'a yönlendirilir, mobil optimize deneyim sunar.
- ✅ URL yapısı → Path ve query string korunur.
- ❌ Masaüstü kullanıcılar → www.example.com'da kalır, etkilenmez.
- ⚠️ SEO notu → 302 geçici olduğu için masaüstü SEO etkilenmez.
Senaryo 4: Coğrafi Yönlendirme (Ülke Bazlı)
Problem: Şirketin ABD, UK ve TR için farklı siteleri var ama kullanıcılar ana domain'e (example.com) gelince yanlış siteyi görüyor.
Çözüm: 302 yönlendirmeyle kullanıcılar ülkelerine göre ilgili subdomain'e yönlendirilir.
Konfigürasyon:
- Redirect Code: 302 Found
- Redirect Location:
https://tr.example.com(Türkiye için) - Conditions: Source IP Country =
TR
Sonuç:
- ✅ Türkiye'den gelen kullanıcılar → tr.example.com'a yönlendirilir.
- ✅ Lokalizasyon → Kullanıcılar kendi dillerinde içerik görür.
- ✅ Para birimi → Doğru para birimi gösterilir.
- ❌ Diğer ülkeler → ABD (us.example.com) veya UK (uk.example.com) sitelerine yönlendirilebilir.
Senaryo 5: Geçici Bakım Sayfası (Sadece Normal Kullanıcılar)
Problem: Site bakımda ama admin kullanıcıların teste devam etmesi gerekiyor. Tüm kullanıcıları bakım sayfasına yönlendirmek admin'leri de engelliyor.
Çözüm: 302 geçici yönlendirmeyle admin IP'leri dışındaki tüm kullanıcılar bakım sayfasına yönlendirilir.
Konfigürasyon:
- Redirect Code: 302 Found
- Redirect Location:
/maintenance.html - Conditions: Source IP NOT IN
admin_whitelist(192.168.10.0/24)
Sonuç:
- ✅ Normal kullanıcılar → /maintenance.html sayfasına yönlendirilir.
- ✅ Admin kullanıcılar (192.168.10.x) → Siteye normal erişim sağlar, test edebilir.
- ✅ Geçici → 302 kodu ile arama motorları bakım geçici olarak algılar.
- ❌ Bakım bitince → Aksiyon devre dışı bırakılır, herkes normal erişir.
Senaryo 6: Eski Subdomain'den Yeni Subdomain'e Geçiş
Problem: Blog eskiden blog.old-site.com adresindeydi, şimdi blog.new-site.com'a taşındı. Eski URL'ler arama motorlarında ve sosyal medyada paylaşılmış durumda.
Çözüm: 301 kalıcı yönlendirmeyle eski subdomain trafiği yeni subdomain'e yönlendirilir.
Konfigürasyon:
- Redirect Code: 301 Moved Permanently
- Redirect Location:
https://blog.new-site.com+ Smart Variables (fx) butonundan Path ve Query String değişkenleri seçilir - Conditions: HTTP Header Host =
blog.old-site.com
Sonuç:
- ✅ blog.old-site.com/article/123 → blog.new-site.com/article/123 (301 redirect).
- ✅ SEO değeri → Eski blog yazılarının arama motoru değeri korunur.
- ✅ Sosyal medya linkleri → Eski paylaşımlar çalışmaya devam eder.
- ❌ Yeni subdomain → Etkilenmez, normal çalışır.
Senaryo 7: Trailing Slash Yönlendirmesi (URL Standartlaştırma)
Problem: Kullanıcılar /about ve /about/ her iki şekilde de erişebiliyor. Arama motorları bunları farklı sayfalar olarak görüyor ve SEO değeri bölünüyor.
Çözüm: 301 yönlendirmeyle trailing slash içermeyen URL'ler trailing slash'lı sürüme yönlendirilir.
Konfigürasyon:
- Redirect Code: 301 Moved Permanently
- Redirect Location: Smart Variables (fx) butonundan Path değişkeni seçilir +
/eklenir - Conditions:
Sonuç:
- ✅ /about → /about/ (301 redirect).
- ✅ /products → /products/ (301 redirect).
- ✅ SEO değeri → Tek bir canonical URL altında birleşir.
- ❌ /image.png → Etkilenmez (dosya uzantısı var, path değil).
