Dies wird domain.com
in www.domain.com
ändern:
# Force the "www."
RewriteCond %{HTTP_Host} !^www\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
Wie ersetze ich den "Domain" - Teil, damit dieser auf any domain funktioniert?
Ich würde diese Regel anwenden:
RewriteEngine On
RewriteCond %{HTTP_Host} !=""
RewriteCond %{HTTP_Host} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_Host}%{REQUEST_URI} [R=301,L]
Die erste Bedingung prüft, ob der Wert " Host " nicht leer ist (im Fall von HTTP/1.0). Die zweite prüft, ob der Host - Wert nicht mit www.
beginnt. die dritte prüft auf HTTPS (%{HTTPS}
ist entweder on
oder off
, dh %{HTTPS}s
ist entweder ons
oder offs
und im Fall von ons
stimmt die s
überein). Der Ersetzungsteil von RewriteRule
führt dann die Informationsteile einfach zu einer vollständigen URL zusammen.
Das wird es tun:
RewriteEngine On
RewriteCond %{HTTP_Host} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_Host}/$1 [R=301,L]
Wenn Sie alle Nicht-WWW-Anforderungen an Ihre Site auf die WWW-Version umleiten möchten, müssen Sie der .htaccess-Datei den folgenden Code hinzufügen:
RewriteEngine On
RewriteCond %{HTTP_Host} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_Host}/$1 [R=301,L]
Dies funktioniert nicht mit Subdomains.
domain.com wird korrekt zu www.domain.com umgeleitet
aber
images.domain.com wird zu www.images.domain.com weitergeleitet
Anstatt zu prüfen, ob die Subdomain "nicht www" ist, sollten Sie prüfen, ob zwei Punkte vorhanden sind:
RewriteCond %{HTTP_Host} ^(.*)$ [NC]
RewriteCond %{HTTP_Host} !^(.*)\.(.*)\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ HTTP%1://www.%{HTTP_Host}%{REQUEST_URI} [R=301,L]
RewriteEngine On
RewriteCond %{HTTP_Host} ^[^.]+\.[^.]+$
RewriteRule ^ http://www.%{HTTP_Host}%{REQUEST_URI} [NE,L,R=301]
Dies leitet example.com
zu www.example.com
um, ohne Subdomains.
Im Folgenden sollte "www" jeder Anfrage vorangestellt werden, die keine hat, und die bearbeitete Anfrage an den neuen URI umleiten.
RewriteCond "%{HTTP_Host}" "!^www\." [NC]
RewriteCond "%{HTTP_Host}" "(.*)"
RewriteRule "(.*)" "http://www.%1$1" [R=301,L]
Dies ist eine ältere Frage und es gibt viele verschiedene Möglichkeiten, dies zu tun. Die vollständigste Antwort, IMHO, ist hier zu finden: https://Gist.github.com/vielhuber/f2c6bdd1ed9024023fe4 . (Das Einfügen und Formatieren des Codes hier hat für mich nicht funktioniert)