Ich weiß, es ist eine endlose Anzahl von zur Verfügung gestellt .htaccess
-lösungen hier, aber keiner von ihnen Umleitungen an https
mit www
nur für Hauptdomäne, aber für https
ohne www
nur für Subdomains. Basiert auf this Frage mit einer Lösung über php
, jetzt möchte ich meine .htaccess
-Datei ändern, um die folgenden Bedürfnisse zu erfüllen..htaccess: Redirect Hauptdomain zu https: // www, Sub-Domain zu https: // (ohne www)
Haupt domain:
- Redirect
http
zuhttps
- Redirect
non-www
zuwww
- (für Haupt domain:
www
wird Wünsche offen und erscheinen soll)
Subdomänen:
- Redirect
http
zuhttps
- Redirect
www
zunon-www
- (für Unterdomänen:
www
nicht erwünscht und sollte nicht erscheinen)
sieht Mein aktueller Ansatz wie folgt aus: Ich denke,
RewriteEngine on
# Ensure https for all domains (main- and subdomains):
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# Redirect non-www to www only for main domain, but not for subdomains:
RewriteCond %{HTTP_HOST} ^(domain\.com)$ [NC]
RewriteRule^https://www.%1%{REQUEST_URI} [R=301,L]
# Redirect www to non-www only for subdomains:
RewriteCond %{HTTP_HOST} ^(www\.)?subdomain\.domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule^https://subdomain.domain.com%{REQUEST_URI} [R=301,L,NE]
- Es gibt einige Fehler mit der Sub-Domain ist?
- Ich verstehe den Teil
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
im allerersten Befehl nicht: Sendet dieser Befehl den Besucher nicht an die Hauptdomain, wenn er die Subdomain ohnehttps
betritt? Oder enthält{HTTP_HOST}
bereits mögliche Subdomains?
Kommentar: Die Sub-Domain einen völlig anderen Inhalt als die Haupt-Domain hat (könnte private.website.com oder cloud.website.com zum Beispiel). Es ist nicht nur eine andere Sprache. Aus diesem Grund scheint es nicht sinnvoll zu sein, eine interne Weiterleitung über Browser-Herkunft oder CMS zu erstellen. Es sollte nur über .htaccess
-entry durchgeführt werden.