2016-05-05 23 views
0

Ich versuche, eine Wildcard-Umleitung von http://example.com zu tun, http://www.example.com, https://www.example.com-https://example.comWie http umleiten: // http: // www und https: // www zu https: // Verwendung von .htaccess

I versuchte die erwähnte Lösung here, aber es funktioniert nicht für mich, als wenn ich irgendeine Seite öffne, Webbrowser zeigt zu viele Umleitungen Fehler an.

Der nächste, den ich erreicht habe, ist, dass ich http://example.com und http://www.example.com zu https://example.com mit dem folgenden Code umleiten kann. Aber immer noch nicht herausfinden, wie https://www.example.com zu tun, um https://example.com umleiten

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

RewriteCond %{ENV:HTTPS} !=on 
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L] 

# BEGIN WordPress 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

Hinweis (Vielleicht ist das ein Problem verursacht zu viele Umleitungen):
Ich habe gerade bemerkt, dass auch ohne jede Umleitung Code in .htaccess Angabe (siehe Code unten), http://www.example.com wird immer umgeleitet http://example.com

<IfModule mod_rewrite.c> 

# BEGIN WordPress 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
+0

Gibt es Redirects in Ihrem Host/VirtualHost Config-Datei? – MinhTri

Antwort

0

Versuchen:

RewriteEngine on 
RewriteCond %{HTTPS} !=on [OR] 
RewriteCond %{HTTP_HOST} ^www 
RewriteRule ^.*$ https://example.com%{REQUEST_URI} [R,L] 
#wordpress rules 
+0

gleicher Effekt wie mein Code. "http: // example.com" und "http: // www.example.com" werden zu "https: // example.com" umgeleitet, aber "https: // www.example.com" ist nicht – user221458

+0

@ User221458 Löschen Sie den Cache Ihres Browsers. – starkeen

+0

gelöscht, funktioniert aber nicht. – user221458

0

Ich habe gerade das Problem herausgefunden. Das SSL-Zertifikat wurde gerade für https://example.com erstellt. Ich habe ein neues Multi-Domain-SSL-Zertifikat mit example.com und www.example.com zugewiesen und jetzt funktioniert alles wie erwartet. Hier ist meine Arbeit .htaccess Datei:

RewriteEngine on 

RewriteCond %{HTTP_HOST} ^www\.example\.com$ 
RewriteRule ^(.*)$ "https\:\/\/example\.com\/$1" [R=301,L] 

RewriteCond %{ENV:HTTPS} !on 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

<IfModule mod_rewrite.c> 

# BEGIN WordPress 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
Verwandte Themen