NGINX kullanarak URL'leri nasıl yönlendiririm? (Geçici kalıcı)
Yayınlanan: 2024-01-26Yö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.
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.
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
veyadomain.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ışırsaindex.html
kısmını kullanacaktır. - Yani,
http://olddomain.com/index.html
adresine gidiyorsanız, sizi sorunsuz bir şekildehttp://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
Rahul Kumar, WordPress ve web barındırma konusunda uzmanlaşmış bir web tutkunu ve içerik stratejistidir. Yılların deneyimi ve sektör trendlerini takip etme kararlılığıyla trafiği yönlendiren, etkileşimi artıran ve dönüşümleri artıran etkili çevrimiçi stratejiler oluşturuyor. Rahul'ın ayrıntılara olan ilgisi ve ilgi çekici içerik oluşturma yeteneği, onu çevrimiçi varlığını geliştirmek isteyen her marka için değerli bir varlık haline getiriyor.