Beides funktioniert. Was einer Website schadet, ist dieselben Inhalte unter beiden Adressen auszuliefern, oder über zwei, drei Sprünge umzuleiten, bevor man ankommt. Wählen Sie eines, schicken Sie alles andere mit einer einzigen Umleitung dorthin, fertig.

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;
}
Das Zertifikat muss BEIDE Namen abdecken, sonst scheitert die Umleitung von https://www mit einer Warnung, bevor sie umleiten kann. Stellen Sie es für example.com und www.example.com gemeinsam aus.

Apache und LiteSpeed

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,R=301]

Ein Sprung, nicht drei

Ein häufiges Missgeschick: http://www leitet auf https://www um und dann auf https://example.com. Jeder Sprung ist ein vollständiger Hin- und Rückweg. Machen Sie es in einem.

curl -sSIL https://www.example.com/page | grep -E '^HTTP|^location'

Lesen Sie diese Ausgabe: Sie wollen genau eine 301 und dann eine 200. Zwei 301er heißen, dass eine Umleitung zu entfernen ist.

Dann bringen Sie die Website in Übereinstimmung

  • Die Einstellung der Website-URL in Ihrer Anwendung.
  • Das Canonical-Tag auf jeder Seite.
  • Die Sitemap.
  • Alles, was fest in den Inhalten steht.
Wenn Sie keinen Grund haben, eines vorzuziehen, nehmen Sie die nackte Domain: sie ist kürzer, und sie ist das, was Leute tippen. Das eine echte Argument für www ist, dass eine nackte Domain kein CNAME sein kann - was zählt, falls Sie den Apex je auf einen Dienst zeigen lassen müssen, der eines verlangt.