Nginx’de www yönlendirmesi nasıl yapılır ?

Nginx’de www yönlendirmesi nasıl yapılır ?
Bu Yazıyı Değerlendir

Selamlar,

Nginx ile çalışan bir sunucuda barınan sitelerimizi www’lu veya www’suz bir şekilde yönlendirme yapmak gerekebiliyor. Birçok araştırmam sonucunda site adresinde www’lu subdomainin olması gerektiğini öğrendim.Çünkü, facebook,twitter,youtube ve en başta google olmak üzere hepsi www.’lu ile açılmaktalar. Neden bizim sitemizde www’lu açılmasın ki ? Litespeed vb .htaccess kullanan sitelerde bu yönlendirmeleri yapmak oldukça kolay ancak Nginx için  kafanızı karıştırabilecek birbirinden farklı yüzlerce kod mevcut internette.  Ben size en basit ve en sade haliyle hem www’lu hem www’suz nginx de yönlendirmeleri yapmak için gereken kodları veriyorum.

Yönlendirme yapmak için ilk önce sunucunuza SSH bağlantaısı yapıp daha sonra aşağıda ki komutu kullanarak nginx.conf dosyamızı düzenlememiz gerekiyor.

[syntax type=”php”]sudo nano /etc/nginx/nginx.conf
[/syntax]

Şimdi sıra geldi yönlendirmeleri yapmaya. Aşağıda gerekli kodları verdim inceleyip, ona göre düzenlemelerinizi yapın ve nginx.conf dosyanızı kaydedin.

[badge style=”darkred”]Önemli:[/badge] Bu anlatım Centos sunucu üzerinde yapılmıştır. Ubuntu veya başka bir sunucu işletim sistemi kullanıyorsanız eğer paylaşılan kodlar ve komutlar çalışmayabilir. Ama default olarak nginx yönlendirmeleri çalışacaktır.

Tek bir site için www’lu olmayandan www’lu versiyona yönlendirme.

siteadresin.com olanı www.siteadresin.com şekline getirme kodudur.

[divider type=”thick”] [syntax type=”php”]
server {
        server_name siteadresin.com;
        return 301 $scheme://www.siteadresin.com$request_uri;
}
[/syntax]

Yukarıda ki kod sadece tek bir domain için geçerlidir. Eğer sunucunuzda barınan tüm siteleri yönlendirmek istiyorsanız aşağıda ki kodu kulllanın.

Bütün domainleri www’suz olandan www’lu olana yönlendirme

[divider type=”thick”] [syntax type=”php”]
server {
        server_name “~^(?!www\.).*” ;
        return 301 $scheme://www.$host$request_uri;
}
[/syntax]

Bu verdiğim kodları siteadresin.com olanı www.siteadresin.com şeklinde değiştirmek için idi. Şimdi bu işlemin tam tersini yapmak isteyenler için kullanacağınız kodları paylaşmaya.

Tek bir site için www’lu versiyondan www’suz versiyona yönlendirme

www.siteadresin.com olan versiyonu siteadresin.com şekline dönüştürmek için kullanılır.

[divider type=”thick”] [syntax type=”php”]
server {
        server_name www.siteadresin.com;
        return 301 $scheme://siteadresin.com$request_uri;
}
[/syntax]

Yukarıda ki kodlar www.siteadresin.com olan domainizi siteadresin.com şeklinde yönlendirme yapmak için kullanılır ve bu kod sadece tek bir domain için geçerli olacaktır. Birden fazla ya da sunucunuzda ki tüm domainler için kullanmak istiyorsanız aşağıda ki kodu kullanın.

Bütün domainler için www’lu versiyondan www’suz versiyona yönlendirme

[divider type=”thick”] [syntax type=”php”]
server {
         server_name “~^www\.(.*)$” ;
         return 301 $scheme://$1$request_uri ;
}
[/syntax]

Bu işlemleri yaptıktan sonra nano ya da vi editörünüzde nginx.conf dosyanızı kaydedin ve nginx’i yeniden başlatın. Nginx’i yeniden başlatmak için aşağıda ki komutu kullanabilirsiniz.

[syntax type=”php”]service nginx restart[/syntax]

Hepsi bu kadar kolay gelsin…

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir