{"id":32378,"date":"2025-10-21T02:40:57","date_gmt":"2025-10-20T23:40:57","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=32378"},"modified":"2025-10-21T02:40:57","modified_gmt":"2025-10-20T23:40:57","slug":"wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber\/","title":{"rendered":"www&#8217;dan Non-www&#8217;ye Nginx ile Y\u00f6nlendirme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Rehber"},"content":{"rendered":"<p><body><\/p>\n<h2>www&#8217;dan Non-www&#8217;ye Nginx ile Y\u00f6nlendirme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Rehber<\/h2>\n<h3>Giri\u015f: www ve Non-www Ayr\u0131m\u0131 ve Y\u00f6nlendirmenin \u00d6nemi<\/h3>\n<p>\u0130nternet d\u00fcnyas\u0131nda bir web sitesine eri\u015fim sa\u011flamak i\u00e7in genellikle iki farkl\u0131 URL yap\u0131s\u0131 kullan\u0131l\u0131r: <code>www.alanadiniz.com<\/code> ve <code>alanadiniz.com<\/code>. Bu iki yap\u0131, teknik olarak farkl\u0131 adresler olsa da, kullan\u0131c\u0131lar\u0131n \u00e7o\u011fu zaman ayn\u0131 i\u00e7eri\u011fe ula\u015ft\u0131klar\u0131n\u0131 varsayar. Ancak arama motorlar\u0131 i\u00e7in, bu iki adres farkl\u0131 varl\u0131klar olarak kabul edilebilir ve bu durum web sitenizin SEO performans\u0131n\u0131 olumsuz etkileyebilir. \u0130\u015fte bu noktada, &#8220;www&#8221; \u00f6nekli adresleri &#8220;non-www&#8221; \u00f6nekli adreslere (veya tam tersi) y\u00f6nlendirmek kritik bir \u00f6neme sahiptir.<\/p>\n<p>Bu makalede, Ubuntu 14.04 i\u015fletim sistemi \u00fczerinde \u00e7al\u0131\u015fan Nginx web sunucusunu kullanarak <code>www.alanadiniz.com<\/code> adresinden <code>alanadiniz.com<\/code> adresine nas\u0131l kal\u0131c\u0131 (301) y\u00f6nlendirme yap\u0131laca\u011f\u0131n\u0131 ad\u0131m ad\u0131m ele alaca\u011f\u0131z. Ubuntu 14.04 her ne kadar eski bir s\u00fcr\u00fcm olsa da, Nginx yap\u0131land\u0131rma mant\u0131\u011f\u0131 b\u00fcy\u00fck \u00f6l\u00e7\u00fcde ayn\u0131 kalmaktad\u0131r ve bu rehberdeki prensipler daha yeni Nginx s\u00fcr\u00fcmleri i\u00e7in de ge\u00e7erlidir. Y\u00f6nlendirme, web sitenizin SEO s\u0131ralamalar\u0131n\u0131 koruman\u0131n, kullan\u0131c\u0131 deneyimini iyile\u015ftirmenin ve alan ad\u0131 tutarl\u0131l\u0131\u011f\u0131n\u0131 sa\u011flaman\u0131n temel bir ad\u0131m\u0131d\u0131r.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>Bu rehbere ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki \u00f6n gereksinimlerin kar\u015f\u0131land\u0131\u011f\u0131ndan emin olman\u0131z gerekmektedir:<\/p>\n<p>*   <strong>Ubuntu 14.04 Sunucu:<\/strong> Nginx&#8217;in kurulu ve \u00e7al\u0131\u015f\u0131r durumda oldu\u011fu bir Ubuntu 14.04 sunucusu.<br \/>\n*   <strong>Nginx Kurulumu:<\/strong> Sunucunuzda Nginx web sunucusunun y\u00fckl\u00fc ve temel yap\u0131land\u0131rmas\u0131n\u0131n yap\u0131lm\u0131\u015f olmas\u0131. E\u011fer kurulu de\u011filse, <code>sudo apt-get update<\/code> ve <code>sudo apt-get install nginx<\/code> komutlar\u0131yla kurabilirsiniz.<br \/>\n*   <strong>Alan Ad\u0131:<\/strong> Y\u00f6nlendirme yapmak istedi\u011finiz bir alan ad\u0131na (\u00f6rne\u011fin <code>ornekalanadiniz.com<\/code>) sahip olman\u0131z ve bu alan ad\u0131n\u0131n DNS kay\u0131tlar\u0131n\u0131n sunucunuzun IP adresine do\u011fru \u015fekilde i\u015faret etmesi gerekmektedir. Hem <code>ornekalanadiniz.com<\/code> hem de <code>www.ornekalanadiniz.com<\/code> i\u00e7in A kayd\u0131n\u0131n sunucunuzun IP adresine i\u015faret etti\u011finden emin olun.<br \/>\n*   <strong>SSH Eri\u015fimi:<\/strong> Sunucunuza SSH \u00fczerinden eri\u015fim sa\u011flayabilmek i\u00e7in bir SSH istemcisi (\u00f6rne\u011fin PuTTY veya terminal).<br \/>\n*   <strong>Temel Linux Komut Sat\u0131r\u0131 Bilgisi:<\/strong> Dosya sistemi navigasyonu, dosya d\u00fczenleme ve temel komutlar\u0131 kullanma becerisi.<br \/>\n*   <strong>Metin D\u00fczenleyici:<\/strong> Nginx yap\u0131land\u0131rma dosyalar\u0131n\u0131 d\u00fczenlemek i\u00e7in <code>nano<\/code> veya <code>vim<\/code> gibi bir metin d\u00fczenleyici.<\/p>\n<h3>Nginx Yap\u0131land\u0131rma Temelleri<\/h3>\n<p>Nginx, mod\u00fcler ve esnek bir yap\u0131ya sahiptir. Yap\u0131land\u0131rma dosyalar\u0131 genellikle <code>\/etc\/nginx\/<\/code> dizini alt\u0131nda bulunur. En \u00f6nemli dizinler ve dosyalar \u015funlard\u0131r:<\/p>\n<p>*   <code>\/etc\/nginx\/nginx.conf<\/code>: Nginx&#8217;in ana yap\u0131land\u0131rma dosyas\u0131d\u0131r. Genellikle global ayarlar\u0131 ve di\u011fer yap\u0131land\u0131rma dosyalar\u0131n\u0131n dahil edildi\u011fi yerdir.<br \/>\n*   <code>\/etc\/nginx\/sites-available\/<\/code>: Bu dizin, sunucunuzda bar\u0131nd\u0131rd\u0131\u011f\u0131n\u0131z her bir alan ad\u0131 veya uygulaman\u0131n ayr\u0131 ayr\u0131 yap\u0131land\u0131rma dosyalar\u0131n\u0131 i\u00e7erir. Bu dosyalar, <code>server<\/code> bloklar\u0131 ad\u0131 verilen yap\u0131lar\u0131 tan\u0131mlar.<br \/>\n*   <code>\/etc\/nginx\/sites-enabled\/<\/code>: Bu dizin, <code>\/etc\/nginx\/sites-available\/<\/code> dizinindeki yap\u0131land\u0131rma dosyalar\u0131na sembolik (symbolic) ba\u011flant\u0131lar i\u00e7erir. Nginx yaln\u0131zca bu dizindeki yap\u0131land\u0131rma dosyalar\u0131n\u0131 okur. Bir siteyi etkinle\u015ftirmek i\u00e7in <code>sites-available<\/code> dizinindeki dosyas\u0131n\u0131n buraya bir sembolik ba\u011flant\u0131s\u0131 olmal\u0131d\u0131r.<br \/>\n*   <code>server<\/code> bloklar\u0131: Nginx yap\u0131land\u0131rmas\u0131n\u0131n temel birimidir. Her <code>server<\/code> blo\u011fu, belirli bir alan ad\u0131, port veya IP adresi i\u00e7in gelen istekleri nas\u0131l i\u015fleyece\u011fini tan\u0131mlar. <code>listen<\/code> y\u00f6nergesi hangi portu dinleyece\u011fini, <code>server_name<\/code> y\u00f6nergesi ise hangi alan adlar\u0131 i\u00e7in bu blo\u011fun ge\u00e7erli oldu\u011funu belirtir.<\/p>\n<h3>Y\u00f6nlendirme T\u00fcrleri: 301 ve 302<\/h3>\n<p>Web sitenizin adreslerini y\u00f6nlendirirken kullanabilece\u011finiz ba\u015fl\u0131ca iki HTTP durum kodu vard\u0131r:<\/p>\n<p>*   <strong>301 Kal\u0131c\u0131 Y\u00f6nlendirme (Moved Permanently):<\/strong> Bu, bir web sayfas\u0131n\u0131n veya alan ad\u0131n\u0131n kal\u0131c\u0131 olarak yeni bir konuma ta\u015f\u0131nd\u0131\u011f\u0131n\u0131 belirtir. Arama motorlar\u0131 i\u00e7in bu \u00e7ok \u00f6nemlidir, \u00e7\u00fcnk\u00fc eski adresin t\u00fcm SEO de\u011ferini (sayfa otoritesi, backlink g\u00fcc\u00fc vb.) yeni adrese aktar\u0131r. <code>www<\/code>&#8216;dan <code>non-www<\/code>&#8216;ye ge\u00e7i\u015f gibi durumlarda her zaman 301 y\u00f6nlendirmesi kullan\u0131lmal\u0131d\u0131r.<br \/>\n*   <strong>302 Ge\u00e7ici Y\u00f6nlendirme (Found\/Moved Temporarily):<\/strong> Bu, bir sayfan\u0131n ge\u00e7ici olarak yeni bir konuma ta\u015f\u0131nd\u0131\u011f\u0131n\u0131 belirtir. Arama motorlar\u0131, bu t\u00fcr y\u00f6nlendirmelerde SEO de\u011ferini yeni adrese aktarmazlar \u00e7\u00fcnk\u00fc durumun ge\u00e7ici oldu\u011funu varsayarlar. Genellikle bak\u0131m \u00e7al\u0131\u015fmalar\u0131, A\/B testleri veya k\u0131sa s\u00fcreli kampanyalar gibi durumlarda kullan\u0131l\u0131r. Bizim senaryomuzda 301 y\u00f6nlendirme kullanaca\u011f\u0131z.<\/p>\n<h3>Nginx ile www&#8217;dan Non-www&#8217;ye Y\u00f6nlendirme Ad\u0131mlar\u0131<\/h3>\n<p>Bu b\u00f6l\u00fcmde, Nginx yap\u0131land\u0131rma dosyalar\u0131n\u0131 d\u00fczenleyerek <code>www.ornekalanadiniz.com<\/code> adresinden <code>ornekalanadiniz.com<\/code> adresine kal\u0131c\u0131 y\u00f6nlendirme yapma ad\u0131mlar\u0131n\u0131 detayl\u0131 bir \u015fekilde inceleyece\u011fiz. En iyi uygulama olarak, hem HTTP (port 80) hem de HTTPS (port 443) trafi\u011fini ele alaca\u011f\u0131z.<\/p>\n<h4>Ad\u0131m 1: Nginx Yap\u0131land\u0131rma Dosyas\u0131na Eri\u015fim<\/h4>\n<p>\u0130lk olarak, Nginx siteleriniz i\u00e7in yap\u0131land\u0131rma dosyalar\u0131n\u0131n bulundu\u011fu dizine gidin:<\/p>\n<pre><code class=\"language-bash\">cd \/etc\/nginx\/sites-available\/<\/code><\/pre>\n<p>Burada, y\u00f6nlendirme yapmak istedi\u011finiz alan ad\u0131na ait yap\u0131land\u0131rma dosyas\u0131n\u0131 bulman\u0131z gerekmektedir (\u00f6rne\u011fin, <code>ornekalanadiniz.com<\/code>). E\u011fer bu dosya mevcut de\u011filse veya genel bir yap\u0131land\u0131rma kullan\u0131yorsan\u0131z, yeni bir dosya olu\u015fturman\u0131z gerekebilir:<\/p>\n<pre><code class=\"language-bash\">sudo nano ornekalanadiniz.com<\/code><\/pre>\n<p>Mevcut dosyan\u0131z\u0131 d\u00fczenliyorsan\u0131z, <code>sudo nano ornekalanadiniz.com<\/code> komutunu kullanarak dosyay\u0131 a\u00e7\u0131n.<\/p>\n<h4>Ad\u0131m 2: HTTP (80 Portu) \u00dczerinden Y\u00f6nlendirme Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>Web sitenizde hen\u00fcz SSL\/TLS sertifikas\u0131 kullanm\u0131yorsan\u0131z veya kullan\u0131c\u0131lar\u0131n HTTP \u00fczerinden eri\u015fim sa\u011flamas\u0131 durumunda da y\u00f6nlendirme yapmak istiyorsan\u0131z, a\u015fa\u011f\u0131daki yap\u0131land\u0131rma blo\u011funu kullanabilirsiniz. Bu blok, <code>www.ornekalanadiniz.com<\/code> adresine gelen t\u00fcm HTTP isteklerini <code>ornekalanadiniz.com<\/code> adresine 301 koduyla kal\u0131c\u0131 olarak y\u00f6nlendirecektir.<\/p>\n<pre><code class=\"language-nginx\"># www.ornekalanadiniz.com adresinden ornekalanadiniz.com adresine HTTP yonlendirme\nserver {\n    listen 80;\n    server_name www.ornekalanadiniz.com;\n\n    return 301 http:\/\/ornekalanadiniz.com$request_uri;\n}\n\n<h2>Non-www ornekalanadiniz.com adresi icin HTTP site konfigurasyonu<\/h2>\nserver {\n    listen 80;\n    server_name ornekalanadiniz.com;\n\n    root \/var\/www\/ornekalanadiniz.com\/html; # Web sitenizin kok dizini\n    index index.html index.htm index.nginx-debian.html;\n\n    location \/ {\n        try_files $uri $uri\/ =404;\n    }\n\n    # Diger site ayarlariniz buraya eklenebilir\n}<\/code><\/pre>\n<p><strong>A\u00e7\u0131klamalar:<\/strong><\/p>\n<p>*   <strong><code>server { ... }<\/code>:<\/strong> Her bir blok, belirli bir sanal ana bilgisayar (virtual host) i\u00e7in yap\u0131land\u0131rmay\u0131 tan\u0131mlar.<br \/>\n*   <strong><code>listen 80;<\/code>:<\/strong> Nginx&#8217;in HTTP istekleri i\u00e7in 80 numaral\u0131 portu dinlemesini sa\u011flar.<br \/>\n*   <strong><code>server_name www.ornekalanadiniz.com;<\/code>:<\/strong> Bu <code>server<\/code> blo\u011funun yaln\u0131zca <code>www.ornekalanadiniz.com<\/code> alan ad\u0131na gelen istekler i\u00e7in ge\u00e7erli oldu\u011funu belirtir.<br \/>\n*   <strong><code>return 301 http:\/\/ornekalanadiniz.com$request_uri;<\/code>:<\/strong> Bu, <code>www.ornekalanadiniz.com<\/code> adresine gelen her iste\u011fi <code>http:\/\/ornekalanadiniz.com<\/code> adresine 301 (kal\u0131c\u0131) durum koduyla y\u00f6nlendirir. <code>$request_uri<\/code> de\u011fi\u015fkeni, orijinal iste\u011fin tam yolunu ve sorgu dizgisini (\u00f6rne\u011fin <code>\/sayfa\/sub_sayfa?param=deger<\/code>) koruyarak y\u00f6nlendirmeye dahil eder. Bu, SEO a\u00e7\u0131s\u0131ndan \u00e7ok \u00f6nemlidir \u00e7\u00fcnk\u00fc alt sayfalar\u0131n da do\u011fru \u015fekilde y\u00f6nlendirilmesini sa\u011flar.<br \/>\n*   \u0130kinci <code>server<\/code> blo\u011fu, <code>ornekalanadiniz.com<\/code> (non-www) adresine gelen HTTP isteklerini i\u015fleyen ana site yap\u0131land\u0131rman\u0131zd\u0131r. <code>root<\/code> y\u00f6nergesi web sitenizin dosyalar\u0131n\u0131n bulundu\u011fu dizini g\u00f6sterir.<\/p>\n<h4>Ad\u0131m 3: HTTPS (443 Portu) ve SSL\/TLS ile Y\u00f6nlendirme Yap\u0131land\u0131rmas\u0131 (\u00d6nerilen Y\u00f6ntem)<\/h4>\n<p>G\u00fcn\u00fcm\u00fczde web sitelerinin b\u00fcy\u00fck \u00e7o\u011funlu\u011fu g\u00fcvenlik nedeniyle HTTPS kullanmaktad\u0131r. E\u011fer web sitenizde SSL\/TLS sertifikas\u0131 (\u00f6rne\u011fin Let&#8217;s Encrypt ile) kuruluysa, hem HTTP&#8217;den HTTPS&#8217;ye hem de <code>www<\/code>&#8216;dan <code>non-www<\/code>&#8216;ye y\u00f6nlendirme yapman\u0131z gerekmektedir. Bu, en kapsaml\u0131 ve \u00f6nerilen y\u00f6ntemdir.<\/p>\n<p>A\u015fa\u011f\u0131daki yap\u0131land\u0131rma, \u00fc\u00e7 ana <code>server<\/code> blo\u011fu i\u00e7erir:<\/p>\n<p>1.  <strong>HTTP&#8217;den HTTPS&#8217;ye Y\u00f6nlendirme:<\/strong> Hem <code>www.ornekalanadiniz.com<\/code> hem de <code>ornekalanadiniz.com<\/code> adreslerine gelen t\u00fcm HTTP isteklerini otomatik olarak HTTPS&#8217;ye y\u00f6nlendirir.<br \/>\n2.  <strong>HTTPS www&#8217;dan HTTPS non-www&#8217;ye Y\u00f6nlendirme:<\/strong> <code>https:\/\/www.ornekalanadiniz.com<\/code> adresine gelen t\u00fcm HTTPS isteklerini <code>https:\/\/ornekalanadiniz.com<\/code> adresine y\u00f6nlendirir.<br \/>\n3.  <strong>HTTPS non-www Site Yap\u0131land\u0131rmas\u0131:<\/strong> <code>https:\/\/ornekalanadiniz.com<\/code> adresine gelen ana HTTPS isteklerini i\u015fler ve web sitenizin i\u00e7eri\u011fini sunar.<\/p>\n<p><strong>SSL Sertifika Bilgileri:<\/strong> A\u015fa\u011f\u0131daki \u00f6rnekte Let&#8217;s Encrypt taraf\u0131ndan olu\u015fturulan sertifika yollar\u0131 kullan\u0131lm\u0131\u015ft\u0131r. Kendi sertifika yollar\u0131n\u0131z\u0131 buna g\u00f6re g\u00fcncelledi\u011finizden emin olun.<\/p>\n<pre><code class=\"language-nginx\"># 1. HTTP'den HTTPS'ye yonlendirme (hem www hem non-www icin)\nserver {\n    listen 80;\n    server_name ornekalanadiniz.com www.ornekalanadiniz.com;\n\n    return 301 https:\/\/$host$request_uri;\n}\n\n<h2>2. HTTPS www'dan HTTPS non-www'ye yonlendirme<\/h2>\nserver {\n    listen 443 ssl;\n    server_name www.ornekalanadiniz.com;\n\n    # SSL sertifika yollarinizi buraya girin (ornek Let's Encrypt)\n    ssl_certificate \/etc\/letsencrypt\/live\/ornekalanadiniz.com\/fullchain.pem;\n    ssl_certificate_key \/etc\/letsencrypt\/live\/ornekalanadiniz.com\/privkey.pem;\n\n    # Diger SSL ayarlarini buraya ekleyebilirsiniz (guvenlik icin onemli)\n    # ssl_protocols TLSv1.2 TLSv1.3;\n    # ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384';\n    # ssl_prefer_server_ciphers on;\n    # ssl_session_cache shared:SSL:10m;\n    # ssl_session_timeout 1d;\n    # ssl_session_tickets off;\n    # ssl_stapling on;\n    # ssl_stapling_verify on;\n    # resolver 8.8.8.8 8.8.4.4 valid=300s;\n    # resolver_timeout 5s;\n    # add_header Strict-Transport-Security \"max-age=63072000\" always;\n\n    return 301 https:\/\/ornekalanadiniz.com$request_uri;\n}\n\n<h2>3. HTTPS non-www site konfigurasyonu<\/h2>\nserver {\n    listen 443 ssl;\n    server_name ornekalanadiniz.com;\n\n    # SSL sertifika yollarinizi buraya girin (ornek Let's Encrypt)\n    ssl_certificate \/etc\/letsencrypt\/live\/ornekalanadiniz.com\/fullchain.pem;\n    ssl_certificate_key \/etc\/letsencrypt\/live\/ornekalanadiniz.com\/privkey.pem;\n\n    # Diger SSL ayarlarini buraya ekleyebilirsiniz (yukaridakiyle ayni olmali)\n    # ssl_protocols TLSv1.2 TLSv1.3;\n    # ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384';\n    # ssl_prefer_server_ciphers on;\n    # ssl_session_cache shared:SSL:10m;\n    # ssl_session_timeout 1d;\n    # ssl_session_tickets off;\n    # ssl_stapling on;\n    # ssl_stapling_verify on;\n    # resolver 8.8.8.8 8.8.4.4 valid=300s;\n    # resolver_timeout 5s;\n    # add_header Strict-Transport-Security \"max-age=63072000\" always;\n\n    root \/var\/www\/ornekalanadiniz.com\/html; # Web sitenizin kok dizini\n    index index.html index.htm index.nginx-debian.html;\n\n    location \/ {\n        try_files $uri $uri\/ =404;\n    }\n\n    # Diger site ayarlariniz buraya eklenebilir\n}<\/code><\/pre>\n<p><strong>A\u00e7\u0131klamalar:<\/strong><\/p>\n<p>*   <strong>\u0130lk <code>server<\/code> blo\u011fu (HTTP&#8217;den HTTPS&#8217;ye):<\/strong><br \/>\n    *   <code>listen 80;<\/code>: 80 numaral\u0131 HTTP portunu dinler.<br \/>\n    *   <code>server_name ornekalanadiniz.com www.ornekalanadiniz.com;<\/code>: Hem <code>www<\/code> hem de <code>non-www<\/code> HTTP isteklerini yakalar.<br \/>\n    *   <code>return 301 https:\/\/$host$request_uri;<\/code>: Gelen iste\u011fi, orijinal ana bilgisayar ad\u0131n\u0131 (<code>$host<\/code>) ve tam yolu (<code>$request_uri<\/code>) koruyarak HTTPS&#8217;ye y\u00f6nlendirir. Bu, hem <code>http:\/\/ornekalanadiniz.com<\/code> hem de <code>http:\/\/www.ornekalanadiniz.com<\/code> adreslerinin <code>https:\/\/ornekalanadiniz.com<\/code> veya <code>https:\/\/www.ornekalanadiniz.com<\/code> adreslerine y\u00f6nlendirilmesini sa\u011flar. Bu ad\u0131m, g\u00fcvenlik i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<p>*   <strong>\u0130kinci <code>server<\/code> blo\u011fu (HTTPS www&#8217;dan HTTPS non-www&#8217;ye):<\/strong><br \/>\n    *   <code>listen 443 ssl;<\/code>: 443 numaral\u0131 HTTPS portunu dinler ve SSL\/TLS&#8217;yi etkinle\u015ftirir.<br \/>\n    *   <code>server_name www.ornekalanadiniz.com;<\/code>: Yaln\u0131zca <code>www.ornekalanadiniz.com<\/code> adresine gelen HTTPS istekleri i\u00e7in ge\u00e7erlidir.<br \/>\n    *   <code>ssl_certificate<\/code> ve <code>ssl_certificate_key<\/code>: SSL sertifikan\u0131z\u0131n ve \u00f6zel anahtar\u0131n\u0131z\u0131n yollar\u0131n\u0131 belirtir. Let&#8217;s Encrypt kullan\u0131yorsan\u0131z bu yollar genellikle <code>\/etc\/letsencrypt\/live\/alanadiniz.com\/<\/code> dizini alt\u0131nda bulunur.<br \/>\n    *   <code>return 301 https:\/\/ornekalanadiniz.com$request_uri;<\/code>: <code>https:\/\/www.ornekalanadiniz.com<\/code> adresine gelen HTTPS isteklerini <code>https:\/\/ornekalanadiniz.com<\/code> adresine 301 koduyla y\u00f6nlendirir.<\/p>\n<p>*   <strong>\u00dc\u00e7\u00fcnc\u00fc <code>server<\/code> blo\u011fu (HTTPS non-www site yap\u0131land\u0131rmas\u0131):<\/strong><br \/>\n    *   <code>listen 443 ssl;<\/code>: 443 numaral\u0131 HTTPS portunu dinler ve SSL\/TLS&#8217;yi etkinle\u015ftirir.<br \/>\n    *   <code>server_name ornekalanadiniz.com;<\/code>: Yaln\u0131zca <code>ornekalanadiniz.com<\/code> (non-www) adresine gelen HTTPS istekleri i\u00e7in ge\u00e7erlidir. Buras\u0131 web sitenizin ana i\u00e7eri\u011finin sunuldu\u011fu yerdir.<br \/>\n    *   <code>root<\/code> ve <code>index<\/code>: Web sitenizin k\u00f6k dizinini ve varsay\u0131lan dizin dosyalar\u0131n\u0131 belirtir.<br \/>\n    *   <code>location \/ { ... }<\/code>: Gelen isteklerin nas\u0131l i\u015flenece\u011fini tan\u0131mlar. <code>try_files<\/code> y\u00f6nergesi, istenen dosyan\u0131n veya dizinin var olup olmad\u0131\u011f\u0131n\u0131 kontrol eder ve bulunamazsa 404 hatas\u0131 d\u00f6nd\u00fcr\u00fcr.<br \/>\n    *   <strong>SSL G\u00fcvenlik Ayarlar\u0131 (Yorum Sat\u0131r\u0131nda):<\/strong> Yorum sat\u0131r\u0131ndaki <code>ssl_protocols<\/code>, <code>ssl_ciphers<\/code>, <code>add_header Strict-Transport-Security<\/code> gibi ayarlar, web sitenizin SSL\/TLS g\u00fcvenli\u011fini art\u0131rmak i\u00e7in \u00f6nerilen ayarlard\u0131r. Bunlar\u0131 kendi sunucunuzun ve g\u00fcvenlik gereksinimlerinizin do\u011frultusunda etkinle\u015ftirebilirsiniz. \u00d6zellikle <code>Strict-Transport-Security<\/code> (HSTS) ba\u015fl\u0131\u011f\u0131, taray\u0131c\u0131lara sitenize her zaman HTTPS \u00fczerinden ba\u011flanmalar\u0131 gerekti\u011fini bildirir ve \u00f6nemli bir g\u00fcvenlik katman\u0131 sa\u011flar.<\/p>\n<h4>Ad\u0131m 4: Yap\u0131land\u0131rmay\u0131 Etkinle\u015ftirme<\/h4>\n<p>Yap\u0131land\u0131rma dosyan\u0131z\u0131 kaydettikten sonra (<code>Ctrl+O<\/code>, <code>Enter<\/code>, <code>Ctrl+X<\/code> nano&#8217;da), Nginx&#8217;in bu yap\u0131land\u0131rmay\u0131 okumas\u0131 i\u00e7in <code>sites-enabled<\/code> dizinine bir sembolik ba\u011flant\u0131 olu\u015fturman\u0131z gerekmektedir:<\/p>\n<pre><code class=\"language-bash\">sudo ln -s \/etc\/nginx\/sites-available\/ornekalanadiniz.com \/etc\/nginx\/sites-enabled\/<\/code><\/pre>\n<p>E\u011fer daha \u00f6nce ayn\u0131 alan ad\u0131 i\u00e7in bir sembolik ba\u011flant\u0131 olu\u015fturduysan\u0131z, \u00e7ak\u0131\u015fmay\u0131 \u00f6nlemek i\u00e7in \u00f6nce mevcut ba\u011flant\u0131y\u0131 kald\u0131rman\u0131z gerekebilir:<\/p>\n<pre><code class=\"language-bash\">sudo rm \/etc\/nginx\/sites-enabled\/ornekalanadiniz.com<\/code><\/pre>\n<h4>Ad\u0131m 5: Nginx Yap\u0131land\u0131rmas\u0131n\u0131 Test Etme<\/h4>\n<p>Herhangi bir de\u011fi\u015fiklik yapmadan \u00f6nce, Nginx yap\u0131land\u0131rma dosyan\u0131zda s\u00f6zdizimi hatas\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek \u00e7ok \u00f6nemlidir. Bu, Nginx&#8217;in yeniden y\u00fcklenirken veya ba\u015flat\u0131l\u0131rken hata vermesini engeller:<\/p>\n<pre><code class=\"language-bash\">sudo nginx -t<\/code><\/pre>\n<p>E\u011fer her \u015fey yolundaysa, a\u015fa\u011f\u0131daki gibi bir \u00e7\u0131kt\u0131 almal\u0131s\u0131n\u0131z:<\/p>\n<pre><code class=\"language-\">nginx: the configuration file \/etc\/nginx\/nginx.conf syntax is ok\nnginx: configuration file \/etc\/nginx\/nginx.conf test is successful<\/code><\/pre>\n<p>Herhangi bir hata mesaj\u0131 al\u0131rsan\u0131z, yap\u0131land\u0131rma dosyan\u0131z\u0131 dikkatlice kontrol edin ve hatalar\u0131 d\u00fczeltin. Genellikle sat\u0131r numaras\u0131 ve hatan\u0131n t\u00fcr\u00fc belirtilir.<\/p>\n<h4>Ad\u0131m 6: Nginx&#8217;i Yeniden Y\u00fckleme<\/h4>\n<p>Yap\u0131land\u0131rma testi ba\u015far\u0131l\u0131 olduktan sonra, Nginx&#8217;in yeni ayarlar\u0131 uygulamas\u0131 i\u00e7in yeniden y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">sudo service nginx reload<\/code><\/pre>\n<p>Bu komut, \u00e7al\u0131\u015fan Nginx s\u00fcre\u00e7lerini durdurmadan yeni yap\u0131land\u0131rmay\u0131 y\u00fckler. E\u011fer <code>reload<\/code> komutu bir hata verirse ve <code>nginx -t<\/code> ba\u015far\u0131l\u0131 olduysa, <code>restart<\/code> komutunu deneyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo service nginx restart<\/code><\/pre>\n<p>Ancak <code>reload<\/code> daha az kesintili oldu\u011fu i\u00e7in tercih edilir.<\/p>\n<h3>Y\u00f6nlendirmeyi Test Etme<\/h3>\n<p>Y\u00f6nlendirmelerin do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in birka\u00e7 farkl\u0131 y\u00f6ntemle test yapmal\u0131s\u0131n\u0131z:<\/p>\n<p>1.  <strong>Taray\u0131c\u0131 \u00dczerinden Test:<\/strong><br \/>\n    *   Taray\u0131c\u0131n\u0131z\u0131n \u00f6nbelle\u011fini temizleyin veya gizli (incognito) modda bir pencere a\u00e7\u0131n.<br \/>\n    *   Adres \u00e7ubu\u011funa <code>http:\/\/www.ornekalanadiniz.com<\/code> yaz\u0131p Enter&#8217;a bas\u0131n. Otomatik olarak <code>https:\/\/ornekalanadiniz.com<\/code> adresine y\u00f6nlendirilmelisiniz.<br \/>\n    *   <code>http:\/\/ornekalanadiniz.com<\/code> yaz\u0131p Enter&#8217;a bas\u0131n. Yine <code>https:\/\/ornekalanadiniz.com<\/code> adresine y\u00f6nlendirilmelisiniz.<br \/>\n    *   <code>https:\/\/www.ornekalanadiniz.com<\/code> yaz\u0131p Enter&#8217;a bas\u0131n. <code>https:\/\/ornekalanadiniz.com<\/code> adresine y\u00f6nlendirilmelisiniz.<br \/>\n    *   Taray\u0131c\u0131n\u0131z\u0131n geli\u015ftirici ara\u00e7lar\u0131n\u0131 (F12) kullanarak A\u011f (Network) sekmesini a\u00e7\u0131n ve y\u00f6nlendirme s\u0131ras\u0131nda HTTP durum kodlar\u0131n\u0131 (301) kontrol edin.<\/p>\n<p>2.  <strong><code>curl<\/code> Komutu ile Test:<\/strong><br \/>\n    Terminalinizden a\u015fa\u011f\u0131daki komutlar\u0131 kullanarak HTTP durum kodlar\u0131n\u0131 kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">curl -I http:\/\/www.ornekalanadiniz.com\n    curl -I http:\/\/ornekalanadiniz.com\n    curl -I https:\/\/www.ornekalanadiniz.com\n    curl -I https:\/\/ornekalanadiniz.com<\/code><\/pre>\n<p>    Her bir <code>curl<\/code> komutunun \u00e7\u0131kt\u0131s\u0131nda <code>HTTP\/1.1 301 Moved Permanently<\/code> ve <code>Location: https:\/\/ornekalanadiniz.com\/<\/code> gibi ba\u015fl\u0131klar\u0131 g\u00f6rmelisiniz (son <code>curl<\/code> komutu hari\u00e7, o do\u011frudan 200 OK d\u00f6nmelidir).<\/p>\n<h3>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>Y\u00f6nlendirme yap\u0131land\u0131rmas\u0131 s\u0131ras\u0131nda veya sonras\u0131nda kar\u015f\u0131la\u015fabilece\u011finiz baz\u0131 yayg\u0131n sorunlar ve \u00e7\u00f6z\u00fcmleri:<\/p>\n<p>*   <strong>S\u00f6zdizimi Hatalar\u0131:<\/strong> <code>sudo nginx -t<\/code> komutunun \u00e7\u0131kt\u0131s\u0131n\u0131 dikkatlice okuyun. Genellikle hata mesaj\u0131nda dosya ad\u0131 ve sat\u0131r numaras\u0131 belirtilir. Virg\u00fcl, noktal\u0131 virg\u00fcl eksikli\u011fi veya yanl\u0131\u015f anahtar kelimeler en yayg\u0131n hatalard\u0131r.<br \/>\n*   <strong>Yanl\u0131\u015f <code>server_name<\/code>:<\/strong> <code>server_name<\/code> y\u00f6nergelerinin alan adlar\u0131n\u0131zla tam olarak e\u015fle\u015fti\u011finden emin olun. <code>www<\/code> ve <code>non-www<\/code> versiyonlar\u0131n\u0131 do\u011fru bir \u015fekilde ay\u0131rd\u0131\u011f\u0131n\u0131zdan emin olun.<br \/>\n*   <strong>G\u00fcvenlik Duvar\u0131 (Firewall) Ayarlar\u0131:<\/strong> Sunucunuzun g\u00fcvenlik duvar\u0131n\u0131n (\u00f6rne\u011fin UFW) 80 (HTTP) ve 443 (HTTPS) portlar\u0131na gelen ba\u011flant\u0131lara izin verdi\u011finden emin olun.<br \/>\n    *   <code>sudo ufw allow 'Nginx HTTP'<\/code><br \/>\n    *   <code>sudo ufw allow 'Nginx HTTPS'<\/code><br \/>\n    *   <code>sudo ufw enable<\/code> (E\u011fer UFW kapal\u0131ysa)<br \/>\n*   <strong>DNS Sorunlar\u0131:<\/strong> Alan ad\u0131n\u0131z\u0131n DNS kay\u0131tlar\u0131n\u0131n hem <code>www.ornekalanadiniz.com<\/code> hem de <code>ornekalanadiniz.com<\/code> i\u00e7in sunucunuzun do\u011fru IP adresine i\u015faret etti\u011finden emin olun. DNS de\u011fi\u015fikliklerinin yay\u0131lmas\u0131 biraz zaman alabilir (genellikle birka\u00e7 saat, bazen 48 saate kadar).<br \/>\n*   <strong>Taray\u0131c\u0131 \u00d6nbelle\u011fi:<\/strong> Taray\u0131c\u0131lar, y\u00f6nlendirmeleri \u00f6nbelle\u011fe alabilir. Y\u00f6nlendirmeyi test ederken her zaman taray\u0131c\u0131n\u0131z\u0131n \u00f6nbelle\u011fini temizleyin veya gizli\/gizli pencere kullan\u0131n.<br \/>\n*   <strong>Nginx S\u00fcr\u00fcm\u00fc Farkl\u0131l\u0131klar\u0131:<\/strong> Ubuntu 14.04, Nginx&#8217;in daha eski bir s\u00fcr\u00fcm\u00fcn\u00fc i\u00e7erebilir. Ancak bu rehberde kullan\u0131lan <code>return 301<\/code> y\u00f6nergesi eski s\u00fcr\u00fcmlerde de sorunsuz \u00e7al\u0131\u015f\u0131r. Nadiren, \u00e7ok eski Nginx s\u00fcr\u00fcmlerinde <code>rewrite<\/code> y\u00f6nergesi kullanmak gerekebilir, ancak <code>return<\/code> daha verimli ve \u00f6nerilen y\u00f6ntemdir.<br \/>\n*   <strong>SSL Sertifikas\u0131 Sorunlar\u0131:<\/strong> E\u011fer HTTPS y\u00f6nlendirmeleri yap\u0131yorsan\u0131z, SSL sertifikalar\u0131n\u0131z\u0131n ge\u00e7erli, do\u011fru yap\u0131land\u0131r\u0131lm\u0131\u015f ve s\u00fcresi dolmam\u0131\u015f oldu\u011fundan emin olun. Sertifika yollar\u0131n\u0131 kontrol edin.<\/p>\n<h3>SEO A\u00e7\u0131s\u0131ndan Y\u00f6nlendirmenin \u00d6nemi<\/h3>\n<p><code>www<\/code>&#8216;dan <code>non-www<\/code>&#8216;ye y\u00f6nlendirme, sadece teknik bir yap\u0131land\u0131rma de\u011fil, ayn\u0131 zamanda SEO stratejinizin de \u00f6nemli bir par\u00e7as\u0131d\u0131r.<\/p>\n<p>*   <strong>Tekrarlanan \u0130\u00e7erik (Duplicate Content) Sorunu:<\/strong> Arama motorlar\u0131, <code>www.ornekalanadiniz.com<\/code> ve <code>ornekalanadiniz.com<\/code> adreslerini farkl\u0131 sayfalar olarak alg\u0131layabilir. Bu durum, ayn\u0131 i\u00e7eri\u011fin iki farkl\u0131 URL&#8217;de bulunmas\u0131 anlam\u0131na gelir ve &#8220;tekrarlanan i\u00e7erik&#8221; sorununa yol a\u00e7ar. Tekrarlanan i\u00e7erik, arama motorlar\u0131n\u0131n sitenizin otoritesini ve s\u0131ralamas\u0131n\u0131 belirlemesini zorla\u015ft\u0131r\u0131r, hatta s\u0131ralamalar\u0131n\u0131z\u0131 d\u00fc\u015f\u00fcrebilir. 301 y\u00f6nlendirmesi, bu sorunu ortadan kald\u0131rarak t\u00fcm SEO de\u011ferini tek bir kanonik URL&#8217;ye odaklar.<br \/>\n*   <strong>Ba\u011flant\u0131 Otoritesi (Link Equity):<\/strong> Web sitenize gelen backlink&#8217;ler (geri ba\u011flant\u0131lar), SEO i\u00e7in hayati \u00f6neme sahiptir. E\u011fer backlink&#8217;lerinizin bir k\u0131sm\u0131 <code>www<\/code>&#8216;lu adrese, bir k\u0131sm\u0131 <code>non-www<\/code>&#8216;lu adrese i\u015faret ediyorsa, 301 y\u00f6nlendirmesi bu ba\u011flant\u0131lar\u0131n g\u00fcc\u00fcn\u00fc (link equity) tek bir adrese aktararak sitenizin genel otoritesini art\u0131r\u0131r.<br \/>\n*   <strong>Kullan\u0131c\u0131 Deneyimi:<\/strong> Tutarl\u0131 bir URL yap\u0131s\u0131, kullan\u0131c\u0131lar i\u00e7in daha iyi bir deneyim sunar. Kullan\u0131c\u0131lar\u0131n hangi adresi yazarsa yazs\u0131nlar her zaman ayn\u0131, tercih edilen adrese y\u00f6nlendirilmesi, kafa kar\u0131\u015f\u0131kl\u0131\u011f\u0131n\u0131 \u00f6nler ve marka tutarl\u0131l\u0131\u011f\u0131n\u0131 sa\u011flar.<br \/>\n*   <strong>Sitemap G\u00fcncellemesi:<\/strong> Y\u00f6nlendirmeleri uygulad\u0131ktan sonra, arama motorlar\u0131na sitenizin yeni yap\u0131s\u0131n\u0131 bildirmek i\u00e7in sitemap.xml dosyan\u0131z\u0131 g\u00fcncelledi\u011finizden ve yaln\u0131zca tercih edilen (non-www) URL&#8217;leri i\u00e7erdi\u011finden emin olun.<br \/>\n*   <strong>Google Search Console Ayarlar\u0131:<\/strong> Google Search Console (eski ad\u0131yla Google Webmaster Tools) hesab\u0131n\u0131zda, sitenizin tercih edilen s\u00fcr\u00fcm\u00fcn\u00fc (www veya non-www) belirtmeniz \u00f6nemlidir. Y\u00f6nlendirme yapt\u0131ktan sonra bu ayar\u0131 da kontrol ederek non-www s\u00fcr\u00fcm\u00fcn\u00fc se\u00e7ti\u011finizden emin olun.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu makalede, Ubuntu 14.04 \u00fczerinde Nginx kullanarak <code>www<\/code> \u00f6nekli adreslerden <code>non-www<\/code> \u00f6nekli adreslere kal\u0131c\u0131 (301) y\u00f6nlendirme yapman\u0131n t\u00fcm ad\u0131mlar\u0131n\u0131 detayl\u0131 bir \u015fekilde inceledik. Hem HTTP hem de HTTPS trafi\u011fini kapsayan kapsaml\u0131 bir yap\u0131land\u0131rma sunarak, web sitenizin SEO performans\u0131n\u0131 optimize etmenin ve kullan\u0131c\u0131 deneyimini iyile\u015ftirmenin kritik ad\u0131mlar\u0131n\u0131 ele ald\u0131k.<\/p>\n<p>Do\u011fru yap\u0131land\u0131r\u0131lm\u0131\u015f bir y\u00f6nlendirme, arama motorlar\u0131n\u0131n sitenizi do\u011fru bir \u015fekilde dizine eklemesini sa\u011flar, ba\u011flant\u0131 otoritenizi korur ve tekrarlanan i\u00e7erik sorunlar\u0131n\u0131 \u00f6nler. Nginx&#8217;in esnek ve g\u00fc\u00e7l\u00fc yap\u0131s\u0131 sayesinde, bu t\u00fcr y\u00f6nlendirmeleri kolayca ve verimli bir \u015fekilde uygulayabilirsiniz.<\/p>\n<p>Her zaman oldu\u011fu gibi, yap\u0131land\u0131rma de\u011fi\u015fikliklerini yapmadan \u00f6nce mevcut dosyalar\u0131n\u0131z\u0131n yede\u011fini almay\u0131, <code>nginx -t<\/code> komutuyla yap\u0131land\u0131rmay\u0131 test etmeyi ve Nginx&#8217;i yeniden y\u00fcklemeyi unutmay\u0131n. Bu ad\u0131mlar, olas\u0131 sorunlar\u0131 minimize etmenize ve web sitenizin kesintisiz \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flaman\u0131za yard\u0131mc\u0131 olacakt\u0131r. Bu rehberdeki prensipler, Ubuntu 14.04 gibi eski bir sistemde bile Nginx&#8217;in g\u00fcc\u00fcnden nas\u0131l faydalanabilece\u011finizi g\u00f6stermektedir.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"www&#8217;dan Non-www&#8217;ye Nginx ile Y\u00f6nlendirme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Rehber\nGiri\u015f: www ve Non-www Ayr\u0131m\u0131 ve Y\u00f6nlendirmenin \u00d6nemi\n\u0130nterne","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1468],"tags":[],"class_list":{"0":"post-32378","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>www&#039;dan Non-www&#039;ye Nginx ile Y\u00f6nlendirme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"www&#039;dan Non-www&#039;ye Nginx ile Y\u00f6nlendirme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Rehber\" \/>\n<meta property=\"og:description\" content=\"www&#039;dan Non-www&#039;ye Nginx ile Y\u00f6nlendirme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Rehber Giri\u015f: www ve Non-www Ayr\u0131m\u0131 ve Y\u00f6nlendirmenin \u00d6nemi \u0130nterne\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-20T23:40:57+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"www&#8217;dan Non-www&#8217;ye Nginx ile Y\u00f6nlendirme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Rehber\",\"datePublished\":\"2025-10-20T23:40:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber\/\"},\"wordCount\":2593,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber\/\",\"name\":\"www'dan Non-www'ye Nginx ile Y\u00f6nlendirme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-20T23:40:57+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"www&#8217;dan Non-www&#8217;ye Nginx ile Y\u00f6nlendirme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Rehber\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"www'dan Non-www'ye Nginx ile Y\u00f6nlendirme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"www'dan Non-www'ye Nginx ile Y\u00f6nlendirme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Rehber","og_description":"www'dan Non-www'ye Nginx ile Y\u00f6nlendirme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Rehber Giri\u015f: www ve Non-www Ayr\u0131m\u0131 ve Y\u00f6nlendirmenin \u00d6nemi \u0130nterne","og_url":"https:\/\/fatihsoysal.com\/blog\/wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-20T23:40:57+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"16 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"www&#8217;dan Non-www&#8217;ye Nginx ile Y\u00f6nlendirme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Rehber","datePublished":"2025-10-20T23:40:57+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber\/"},"wordCount":2593,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber\/","name":"www'dan Non-www'ye Nginx ile Y\u00f6nlendirme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-20T23:40:57+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/wwwdan-non-wwwye-nginx-ile-yonlendirme-ubuntu-14-04-uzerinde-kapsamli-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"www&#8217;dan Non-www&#8217;ye Nginx ile Y\u00f6nlendirme: Ubuntu 14.04 \u00dczerinde Kapsaml\u0131 Rehber"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32378","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=32378"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32378\/revisions"}],"predecessor-version":[{"id":32379,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32378\/revisions\/32379"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=32378"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=32378"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=32378"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}