İkisi de çalışır. Bir siteye zarar veren şey, aynı içeriği iki adreste birden sunmak ya da varmadan önce iki üç sıçramadan geçirerek yönlendirmektir. Birini seçin, geri kalan her şeyi tek bir yönlendirmeyle oraya gönderin ve işi bitirin.
Nginx
# a small server block whose only job is the redirect
server {
listen 80;
listen 443 ssl;
server_name www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
return 301 https://example.com$request_uri;
}
Sertifikanın İKİ adı birden kapsaması gerekir; yoksa https://www adresinden gelen yönlendirme, daha yönlendiremeden bir uyarıyla başarısız olur. Onu example.com ve www.example.com için birlikte alın.
Apache ve LiteSpeed
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,R=301]
Üç değil, tek sıçrama
Sık rastlanan bir kaza: http://www önce https://www adresine, sonra https://example.com adresine yönlendirir. Her sıçrama tam bir gidiş dönüştür. Bunu tek seferde yapın.
curl -sSIL https://www.example.com/page | grep -E '^HTTP|^location'
O çıktıyı okuyun: tam olarak bir 301, ardından bir 200 istiyorsunuz. İki tane 301, kaldırılacak bir yönlendirme var demektir.
Sonra siteyi de buna uydurun
- Uygulamanızdaki site adresi ayarı.
- Her sayfadaki asıl adres etiketi.
- Site haritası.
- İçeriğe sabit yazılmış ne varsa.
Birini yeğlemek için bir sebebiniz yoksa çıplak alan adını kullanın: daha kısadır ve insanların yazdığı odur. www lehine gerçek tek gerekçe, çıplak bir alan adının CNAME olamamasıdır; bu da tepe adı, CNAME isteyen bir hizmete yöneltmeniz gerekirse önem kazanır.
