NGINX ile URL Yönlendirmesini Ustalaşmak
Web trafiğini verimli bir şekilde yönetmek, çevrimiçi varlık için kritik öneme sahiptir ve URL yönlendirmesi bu sürecin önemli bir bileşenidir. URL yönlendirmesi, bir URL’yi başka birine yönlendirmenize olanak tanır, böylece kullanıcılar ve arama motorları hatalarla karşılaşmadan doğru konuma yönlendirilir. Yüksek performansı ve basit yapılandırması ile tanınan NGINX, sağlam URL yönlendirme kuralları oluşturmak için güçlü bir araçtır. Bu kılavuz, temel yönlendirmelerden karmaşık, koşullu senaryolara kadar her şeyi kapsayarak NGINX kullanarak URL yönlendirmesi uygulama sürecinde size rehberlik edecektir.
URL Yönlendirmeyi Anlamak
URL yönlendirmesi, bir URL’yi başka birine yönlendirme yöntemidir, kesintisiz gezinmeyi sağlar ve SEO değerini korur. Birkaç tür yönlendirme vardır:
- 301 Kalıcı Yönlendirme: Bir URL’nin kalıcı olarak taşındığını belirtir.
- 302 Geçici Yönlendirme: Bir URL’nin geçici olarak taşındığını belirtir.
- 307 Geçici Yönlendirme: 302’nin daha kesin bir versiyonu, istek yöntemini korur.
- 308 Kalıcı Yönlendirme: 301’e benzer ancak yönlendirme sırasında istek yöntemini korur.
Ön Koşullar
NGINX ile URL yönlendirmesi yapılandırmadan önce, aşağıdakilere sahip olduğunuzdan emin olun:
- Sunucunuzda kurulu ve çalışan NGINX.
- Sunucuya root veya sudo erişimi.
- NGINX yapılandırma dosyaları hakkında temel bilgi.
- `nano` veya `vim` gibi bir metin düzenleyici.
NGINX ile URL Yönlendirmesi İçin Adım Adım Kılavuz
Adım 1: NGINX Yapılandırma Dosyalarına Erişin
Başlamak için, sunucu bloklarınızın tanımlandığı NGINX yapılandırma dosyasına erişin ve değiştirin. Genellikle, NGINX yapılandırma dosyaları şurada bulunur:
- `/etc/nginx/nginx.conf` (ana yapılandırma)
- `/etc/nginx/sites-available/default` (belirli site yapılandırmaları)
Belirli bir site için yapılandırma dosyasını düzenleyin:
“`bash
sudo nano /etc/nginx/sites-available/default
“`
Adım 2: `return` Direktifi Kullanarak Temel Yönlendirme
Basit yönlendirme için `return` direktifini kullanın. İşte 301 kalıcı yönlendirme için bir örnek:
“`nginx
server {
listen 80;
server_name www.old-site.com;
location /old-page {
return 301 http://www.new-site.com/new-page;
}
}
“`
Bu kurulum, 80 numaralı porttaki istekleri dinler ve `/old-page` yeni URL’ye yönlendirir.
Adım 3: `rewrite` Direktifi ile İleri Düzey Yönlendirmeler
Karmaşık senaryolar için `rewrite` direktifi değerlidir. Düzenli ifadelerle desen eşleştirmesine olanak tanır:
Tüm Sayfaları Yeni Bir Alana Yönlendirme:
“`nginx
server {
listen 80;
server_name www.old-site.com;
rewrite ^(.*)$ http://www.new-site.com$1 permanent;
}
“`
Bu yapılandırma, eski alan adındaki tüm sayfaları yeni alandaki karşılık gelen sayfalara yönlendirir.
HTTP’den HTTPS’ye Yönlendirme:
“`nginx
server {
listen 80;
server_name www.example.com;
return 301 https://$server_name$request_uri;
}
“`
Bu, tüm HTTP isteklerinin HTTPS’ye yönlendirilmesini sağlar, güvenliği artırır.
Adım 4: Koşullu Yönlendirmeler
NGINX, kullanıcı ajanları, çerezler veya IP adreslerine dayalı koşullu yönlendirmelere izin verir:
“`nginx
if ($http_user_agent ~* "(Android|iPhone|iPad)") {
rewrite ^/$ http://m.example.com redirect;
}
“`
Bu örnek, mobil kullanıcıları mobil özel site sürümüne yönlendirir.
Adım 5: Yapılandırmanızı Test Etme
Değişikliklerden sonra, yapılandırmanızı sözdizimi hataları için test edin:
“`bash
sudo nginx -t
“`
Başarılı bir test, yapılandırmanın doğru olduğunu onaylayacaktır.
Adım 6: NGINX’i Yeniden Yükleyin
Değişikliklerinizi uygulamak için NGINX’i yeniden yükleyin:
“`bash
sudo systemctl reload nginx
“`
Bu, aktif bağlantıları kesintiye uğratmadan NGINX’i yeniden yükler.
Adım 7: İzleme ve Hata Ayıklama
Yönlendirmelerin beklenildiği gibi çalıştığından emin olmak için NGINX günlüklerinizi izleyin. Günlükler genellikle şurada bulunur:
- `/var/log/nginx/access.log` için istek detayları.
- `/var/log/nginx/error.log` için hatalar.
URL Yönlendirmesi İçin Yaygın Kullanım Durumları
- Yeni Bir Alana Taşınma: Trafiği ve SEO’yu korumak için eski alan adı URL’lerini yönlendirin.
- URL Yapısını Değiştirme: 404 hatalarından kaçınmak için eski URL’leri yenilerine yönlendirin.
- HTTPS’yi Zorunlu Kılma: Güvenlik için HTTP isteklerini HTTPS’ye yönlendirin.
- Belirli Sayfalara Yönlendirme: Güncellenmiş sürümlere eski sayfaları yönlendirin.
Önemli Çıkarımlar
- SEO avantajlarını korumak için 301 yönlendirmeleri kalıcı taşımalar için kullanın.
- Karmaşık yönlendirme ihtiyaçları için rewrite direktiflerini kullanın.
- Yapılandırmaları uygulamadan önce her zaman test edin.
- Yönlendirme kurallarının doğru çalıştığından emin olmak için günlükleri düzenli olarak izleyin.
SSS
301 ve 302 yönlendirmesi arasındaki fark nedir?
301 yönlendirmesi, kalıcı bir URL taşınmasını belirtirken, 302 yönlendirmesi geçicidir ve URL’nin orijinal konumuna dönebileceğini önerir.
NGINX’te tüm trafiği HTTP’den HTTPS’ye nasıl yönlendirebilirim?
Tüm HTTP isteklerini HTTPS’ye yönlendirmek için sunucu bloğunuzda `return 301 https://$server_name$request_uri;` direktifini kullanın.
URL yönlendirmesi için neden NGINX kullanmalıyım?
NGINX, yüksek performans ve basit bir yapılandırma süreci sunar, bu da onu verimli URL yönlendirme yönetimi için ideal kılar.
Daha gelişmiş barındırma çözümleri için, AlexHost’tan VPS Hosting, Dedicated Servers veya SSL Certificates düşünebilirsiniz.
