2017-12-11 1 views
1

Ich habe mehrere Domänen, die ich mit dem gleichen tun möchte. Nehmen wir die Domain example.com..htacces umleiten zu https: // www .; statt einer Umleitung

Ich möchte immer auf https://www.[mydomain] umleiten. In diesem Fall: https://www.example.com.

Ich muss umleiten:

https://example.com 

http://www.example.com 

http://example.com 

zu

https://www.example.com 

so zu tun, ich habe diesen Code:

RewriteCond %{HTTPS} off 
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

Für https://example.com und http://www.example.com Umleitung ist direkt an https://www.example.com.

Aber für http://example.com Umleitung geht an https://example.com und dann zu https://www.example.com, statt https://www.example.com direkt zu gehen. Es gibt zwei Umleitungen.

Warum das? Was mache ich falsch?

Antwort

1

Sie haben 2 Möglichkeiten hier.

Verwenden Sie eine einzige Regel für beide Umleitungen wie folgt aus:

RewriteCond %{HTTP_HOST} !^www\. [NC,OR] 
RewriteCond %{HTTPS} !on 
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] 
RewriteRule^https://www.%1%{REQUEST_URI} [R=301,L,NE] 

Oder ändern, um Ihre Regeln dies:

RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule^https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE] 

RewriteCond %{HTTPS} off 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE] 

Was auch immer von Ihnen gewählte Option erinnern Ihren Browser-Cache oder Verwendung löschen ein neuer Browser zum Testen.

+1

Hallo, danke. Was ist der "Bessere"? – David

+0

Ich bevorzuge die erste, da es eine einzige Regel gibt, also wird 'mod_rewrite' das theoretisch schneller ausführen. – anubhava

Verwandte Themen