NGINX kullanarak URL'leri nasıl yönlendiririm? (Geçici kalıcı)

Yayınlanan: 2024-01-26

İçindekiler
Yönlendirme nedir?
Nginx Yönlendirmesine ihtiyaç nedir?
Yaygın Nginx Yönlendirme Yöntemleri (Geçici ve Kalıcı)
URL'ler Nginx kullanılarak nasıl yönlendirilir (Geçici ve kalıcı)
Nginx Sözdizimini Kontrol Edin
Nginx Sunucusunu yeniden başlatın
Özet
Sıkça Sorulan Sorular

Yönlendirme nedir?

Nginx ile ilgili olarak yeniden yönlendirme, web sitesi trafiğinin bir URL'den diğerine taşındığı bir web sunucusu işlevidir. Ziyaretçileri otomatik olarak başka bir konuma kolayca yönlendirebileceğiniz en kullanışlı özelliklerden biridir.

Yapabileceğiniz çok sayıda yeniden yönlendirme türü olmasına rağmen, en önemli ve yaygın olarak kullanılan ikisi kalıcı (301) ve geçici yeniden yönlendirmedir (302).

Bu yazıda size www'den www olmayana, Nginx'in bir Etki Alanına yönlendirmesi, HTTP'den HTTPS'ye Nginx yönlendirmesi vb. örneklerle yönlendirme yöntemlerini göstereceğiz.


Okuyun: WordPress Yönlendirme URL'si nasıl çalışır? 5 En İyi Yöntem


Nginx Yönlendirmesine ihtiyaç nedir?

  • Nginx, web sitesi URL'lerini kriterlere göre başka bir adrese yönlendirmek gibi önemli özelliklerden birini sağlar.
  • Nginx yönlendirmeleri oldukça kullanıcı dostudur ve yapılandırılması kolaydır, bu nedenle web sitesi URL'lerini yönetmek çok esnektir.
  • Özellikle bir CMS'den diğerine geçiş yapıyorsanız, bir sayfanın SEO sıralamasını korumada çok faydalıdır.
  • Yönlendirme özelliği aynı zamanda URL yapısındaki değişikliklere rağmen SERP konumunun korunmasına da yardımcı olur.

Yaygın Nginx Yönlendirme Yöntemleri (Geçici ve Kalıcı)

Daha önce de belirttiğimiz gibi, birden fazla yönlendirme yöntemi türü mevcuttur, ancak pratikte yaygın olarak kullanılan yalnızca iki yöntem vardır; Geçici ve Kalıcı yönlendirme.

Geçici Yönlendirme (Yanıt kodu: 302 Bulundu)

  • Adından geçici ilacın ne yapacağını tahmin edebilirsiniz. Bu yöntem, bir sayfanın konumunu geçici olarak bir yerden başka bir yere değiştirme amacına hizmet eder.
  • Yanıt kodu: 302 Bulundu, bu yönlendirmeler sırasında bir sayfanın geçici olarak iletilmesini göstermek için kullanılır.
  • Çoğunlukla web sitesi bakımı sırasında kullanılır; geçici yeniden yönlendirme, trafiği veya kullanıcıları web sitesinin geçici olarak kullanılamadığı konusunda bilgilendirir.
  • Tamamlanmamış bir sayfayı başka bir noktaya veya ana sayfaya yönlendirmek için de kullanılabilir.
  • Örnek senaryo: Ziyaretçi Web Sitesi Sayfasına gider ancak bakım nedeniyle web sitesinin şu anda bakımda olduğunu belirten bir bildirime yönlendirilir.
Temporary Redirection
Geçici Yönlendirme (Yanıt kodu: 302 Bulundu)

Kalıcı Yönlendirme (Yanıt kodu: 301 Bulundu)

  • Kalıcı Nginx Yönlendirmesi, bir sayfa etki alanını kalıcı olarak yeniden konumlandırmak için kullanılır.
  • Bu bağlamda bir sayfanın kalıcı hareketini belirlemek için 301 yönlendirmesi kullanılır.
  • Bu yönlendirme esas olarak bir kullanıcı bir alan adını değiştirmek istediğinde ve artık web sitesi trafiğinin eski konuma erişmesini istemediğinde kullanılır.
Permanent Redirection
Kalıcı Yönlendirme (Yanıt kodu: 301 Bulundu)

URL'ler Nginx kullanılarak nasıl yönlendirilir (Geçici ve kalıcı)

Başlamadan önce, öncelikle VPS'nizde veya Sanal Özel Sunucunuzda NGINX'in kurulu olduğundan emin olmanız gerekir. Bundan sonra VPS'nize SSH aracılığıyla erişin. Wpoven'da sitenize SSH komut satırı konsolu aracılığıyla kolayca erişebilirsiniz.


Okuyun: WPOven Siteme SSH aracılığıyla erişebilir miyim?


NGINX'in Yapılandırma Kurulumu

  • NGINX Yapılandırma Dosyası Konumu: NGINX yapılandırması genellikle sunucuya yönelik yönergeleri ve ayarları içeren düz metin dosyası olan .conf dosyasında saklanır.
  • Varsayılan Konum: NGINX yapılandırma dosyalarının varsayılan konumu genellikle sitenizin/sitelerinizin belge kök dizini içindedir. Bu durumda şu yoldan bahseder: /etc/nginx/sites-available/directory_name.conf .
  • Belge Kök Dizini: Bu dizin web sitenizin dosyalarının saklandığı yerdir. Belge kökü değişebilir; tek siteli bir sunucu için /html dizininde olabilir. Sunucunuz birden fazla siteyi barındırıyorsa belge kökü, /domain.com gibi belirli bir etki alanı dizininde olabilir.
  • Yapılandırma Dosyası Adlandırma: .conf dosyanızın adı sitenize karşılık gelir. Örneğin, siteniz /html dizinindeyse, .conf dosyasının adı html.conf olabilir. /domain.com gibi bir dizindeyse, .conf dosyası domain.com.conf olarak adlandırılabilir.
  • Varsayılan Yapılandırma Dosyası: /etc/nginx/sites-available/directory içinde genellikle şablon olarak kullanabileceğiniz bir varsayılan dosya bulunur. Bu dosya, ihtiyaçlarınıza uyacak şekilde kopyalayabileceğiniz veya değiştirebileceğiniz temel yapılandırmaları içerebilir.
  • Yeni Bir Yapılandırma Dosyası Oluşturma: Alternatif olarak, yeni bir .conf dosyası oluşturma seçeneğiniz de vardır. Örneğin sitenizin yapısına ve adlandırma kurallarına göre html.conf veya domain.com.conf adında bir dosya oluşturabilirsiniz.

Nginx'te "yeniden yazma" yönergesi adı verilen yerleşik bir aracın bulunduğunu bilmek sizi şaşırtabilir. Yönlendirmeyi kolaylaştıran çok kullanışlı bir araçtır. En iyi yanı, bu konuda yapmanız gereken özel bir şey olmamasıdır; yeni bir Nginx yüklediğinizde otomatik olarak sunulur.

Bu "yeniden yazma" yönergesi yalnızca temel yeniden yönlendirmeler yapmak için tasarlanmamıştır, aynı zamanda oldukça çok yönlüdür. yani kalıcı ve geçici olmak üzere iki tür yönlendirme oluşturabileceksiniz.

Tek yapmanız gereken yalnızca iki argümanı iletmektir: eski URL ve Yeni URL. Aşağıda referansınız için bazı örnekler verilmiştir. Sunucu konfigürasyonunuza aşağıdaki satırları girmeniz yeterli.

Öncelikle terminale aşağıdaki komutu girerek konfigürasyon dosyasını açınız.

$ sudo vi /etc/nginx/nginx.conf

bundan sonra ihtiyacınıza göre aşağıda verilen komutları kullanın.

1. Sayfadan Sayfaya Nginx Yönlendirmesi

Geçici Sayfadan sayfaya Nginx yönlendirmesi

server {
# Temporary redirect to an individual page
rewrite ^/oldpage$ http://www.example.com/newpage redirect;
}

Kalıcı Sayfadan Sayfaya Nginx yönlendirmesi

server {
# Permanent redirect to an individual page
rewrite ^/oldpage$ http://www.example.com/newpage permanent;
}

Yukarıdaki komutlardan, kalıcı bir yönlendirme oluşturmak istiyorsanız tek yapmanız gereken, yönergenin sonundaki "yönlendirme"yi "kalıcı" ile değiştirmek olduğunu fark ettiniz.

2. WWW'den www olmayan Nginx'e Yönlendirme

Kalıcı www'den www olmayan yönlendirmeye:

server {
# Permanent redirect to non-www
server_name www.example.com;
rewrite ^/(.*)$ http://example.com/$1 permanent;
}


Not : Www olmayandan www'ye yönlendirmek isterseniz, yukarıdaki komutta belirtilen web sitesi URL'lerini değiştirmeniz yeterlidir. yani www.example.com'u example.com ile değiştirin veya tam tersi.


3. Nginx'te URL'yi HTTP'den HTTPS'ye nasıl yönlendirebilirim?

Bu yönlendirmeyi yapmadan önce SSL sertifikasını kurmayı unutmayın. HTTPS'ye yönlendirmenin faydaları vardır. Web sitenizi tüm MIMT saldırılarından, veri hırsızlığından vb. korumaya yardımcı olur. Bağlantı noktaları bile farklıdır; örneğin, HTTP 80 Bağlantı Noktasını kullanırken HTTPS 443 Bağlantı Noktasını kullanır.

Bu nedenle, siz ve ziyaretçiniz arasındaki tüm hassas bilgi paylaşımını korumak için aşağıdaki komutlara ihtiyacınız vardır:

server {
listen 80;
server_name www.domain.tld;
return 301 https://www.domain.tld$request_uri;
}

4. Nginx URL'sini başka bir URL'ye yönlendirin

Kalıcı olarak yeniden yönlendirmek istiyorsanız, yani nginx yönlendirmesini başka bir URL 301'e yönlendirmek istiyorsanız aşağıdaki komutu kullanın:

Eski bir alan adından yeni bir alan adına,

server {
listen 80;
listen 443 ssl;
server_name olddomain.com www.olddomain.com;
return 301 $scheme://www.newdomain.com$request_uri;
}

VEYA

server {
# Permanent redirect to new URL
listen 443 ssl;
# Add this line to listen on the HTTPS port and enable SSL server_name olddomain.com;
ssl_certificate /path/to/your/ssl_certificate.crt; # Update with the actual path to your SSL certificate
ssl_certificate_key /path/to/your/ssl_certificate_key.key; # Update with the actual path to your SSL certificate key
# Additional SSL settings can be configured here
rewrite ^/(.*)$ https://newdomain.com/$1 permanent;
# Update to use 'https' protocol
}

  • Nginx'te "yeniden yazma" yönergesi adı verilen bir aracı kullanarak web sitemiz için bir yönlendirme ayarladık.
  • ^/(.*)$ URL'deki son eğik çizgiden ( / ) sonraki her şeyi kullanacak normal bir ifadedir.
  • Örneğin, birisi http://olddomain.com/index.html erişmeye çalışırsa index.html kısmını kullanacaktır.
  • Yani, http://olddomain.com/index.html adresine gidiyorsanız, sizi sorunsuz bir şekilde http://newdomain.com/index.html adresine yönlendirecektir.
  • Buradaki fikir, kullanıcıları yeni alandaki aynı içeriğe sorunsuz bir şekilde yönlendirmektir.
  • Bu yönlendirmenin kalıcı olduğundan emin olmak için, rewrite yönergesinden sonra "Kalıcı" özel bir anahtar kelime ekledik.
  • Bu, HTTP 301 durum kodu adı verilen şeyi kullanarak hem tarayıcılara hem de arama motorlarına bunun kalıcı bir değişiklik olduğunu bildirir.

5. Nginx, URL'yi değiştirmeden başka bir alana yönlendiriyor

URL'yi değiştirmeden eskialanadi.com alan adını yenialanadi.com'a yönlendirmek istediğinizi varsayalım. Bu, eskialanadi.com'u girdiğinizde, yenialanadi.com'a yönlendirmesi gerektiği, ancak URL'nin hala eskialanadi.com'u göstermesi gerektiği anlamına gelir.

İşte nasıl yaklaşabileceğiniz,

server {
listen 80;
server_name olddomain.com;

location / {
proxy_pass http://newdomain.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
}
}

6. Belirli Site Nginx Yönlendirmesi

server {
listen 80;
server_name example.com;
return 301 http://newexample.com$request_uri;
}


Nginx Sözdizimini Kontrol Edin

Tüm nginx Sözdiziminin doğru olup olmadığını kontrol etmek için aşağıdaki komutu kullanın:

nginx -t

Çıktının boş çıkması sözdiziminin doğru olduğu anlamına gelir ve bu değişikliklerin etkili olması için Nginx Sunucusunu yeniden başlatmanız gerekir.


Nginx Sunucusunu yeniden başlatın

Bu kuralların etkili olması için aşağıdaki komutu kullanarak Nginx sunucunuzu yeniden başlatmayı unutmayın:

sudo systemctl restart Nginx


Özet

Yukarıda da belirtildiği gibi, Nginx'in kalıcı ve geçici Nginx yönlendirmelerini kolayca yapmanızı sağlayan en güçlü ve kullanıcı dostu web sunucusu olduğu ortaya çıktı.

Bu blogu okuduktan sonra artık NGINX kullanarak Yönlendirme URL'lerinin nasıl oluşturulacağını biliyorsunuz. Nginx'in HTTP'den HTTPS'ye, bir alan adından başka bir alana vs. yönlendirilip yönlendirilmeyeceği.

Ayrıca yönlendirmelerin SEO sıralamanızı nasıl etkilediğini öğrendiniz; bu nedenle her zaman doğru yönlendirme türünü kullandığınızdan emin olun.

Bu yararlı özellik sayesinde web sitenizin yapısını trendlere ve gereksinimlere göre kolayca değiştirebilir, trafik korkusundan ve SERP sıralaması kaybından kurtulabilirsiniz.

WPOven, bir sonraki NGINX projeniz için WordPress tarafından yönetilen barındırma seçenekleri sunar. Size en uygun seçenekleri görüşmek için bizimle iletişime geçin.

Herhangi bir sorunuz veya öneriniz varsa, lütfen aşağıdaki yorum bölümünde bize bildirin:


Sıkça Sorulan Sorular

Nginx'te bir URL nasıl yönlendirilir?

Nginx'te "yeniden yazma" yönergesi adı verilen yerleşik bir araç vardır. Yönlendirmeyi kolaylaştıran çok kullanışlı bir araçtır. En iyi yanı, bu konuda yapmanız gereken özel bir şey olmamasıdır; yeni bir Nginx yüklediğinizde otomatik olarak sunulur.

Nginx'in yönlendirme kodu nedir?

Nginx oldukça çok yönlüdür ve size iki tür yeniden yönlendirme sunar; yanıt kodu 301 olan kalıcı ve 302 olan geçici azaltma yanıt kodu.

NGINX ne için kullanılır?

Nginx çok yönlü ve yüksek performanslı bir web sunucusu ve ters proxy sunucusudur. Yaygın olarak şu amaçlarla kullanılır: Web Sunucusu , Ters Proxy Sunucusu , Yük Dengeleyici , SSL/TLS Sonlandırma , Önbelleğe Alma , İçerik Dağıtım Ağı (CDN) , API Ağ Geçidi , WebSocket Desteği , Güvenlik ve Yüksek Erişilebilirlik Mimarisi