Nginx’te HTTP’den HTTPS’e ve www’den www’siz Adrese Yönlendirme

Web Sunucusu 3 dakikalık okuma Güncelleme:

http://, https://, www ve www’siz adresler arama motorlarına dört ayrı site gibi görünebilir. Hepsini tek bir adrese 301 ile yönlendirmek hem SEO hem de tutarlılık için gereklidir. Örnekte kanonik adres https://alanadiniz.com’dur ve sertifika Certbot ile alınmıştır.

Yapılandırma

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

server {
    listen 443 ssl;
    server_name www.alanadiniz.com;
    ssl_certificate     /etc/letsencrypt/live/alanadiniz.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/alanadiniz.com/privkey.pem;
    return 301 https://alanadiniz.com$request_uri;
}

server {
    listen 443 ssl;
    server_name alanadiniz.com;
    ssl_certificate     /etc/letsencrypt/live/alanadiniz.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/alanadiniz.com/privkey.pem;
    # root, location ve PHP ayarlarınız buraya
}

Sertifika, hem alanadiniz.com hem www.alanadiniz.com adlarını kapsamalıdır.

Uygulayın ve sınayın

sudo nginx -t && sudo systemctl reload nginx
curl -I http://www.alanadiniz.com

Çıktıda 301 kodunu ve Location: https://alanadiniz.com/ satırını görmelisiniz.

Not: Cloudflare kullanıyorsanız ve döngü görüyorsanız SSL modunu kontrol edin.

Adımlarda takıldınız mı?

Teknik ekibimiz sunucunuza bakıp sorunu birlikte çözebilir.

WhatsApp ile yazın Destek talebi açın