2016-06-28 12 views
1

Nach dem Einrichten letsencrypt auf einem vps meine das sind die Überschreibbedingungen von letsencrypt gesetzt:Apache mod Rewrite (alle HTTP-Anfragen an HTTPs)

RewriteEngine on 
RewriteCond %{SERVER_NAME} =xy.com [OR] 
RewriteCond %{SERVER_NAME} =www.xy.com 
RewriteRule^https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent] 

Es funktioniert gut, aber ich möchte Anfragen umleiten zu " https://www.xy.com zu https auch. Ich habe versucht, mit diesem Code:

RewriteEngine on 
RewriteCond %{SERVER_NAME} =xy.com [OR] 
RewriteCond %{SERVER_NAME} =www.xy.com [OR] 
RewriteCond %{SERVER_NAME} =https://www.xy.com 
RewriteRule^https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent] 

Es funktioniert nicht. Irgendeine Idee, was zu tun ist?

Keine der Antworten funktionierte. Hier ist die Datei, die in meinem www/html/xy/public-Ordner abgelegt ist. Alle Anfragen werden darauf hinweisen, ich weiß nicht, ob dies das Problem verursacht.

<IfModule mod_rewrite.c> 
<IfModule mod_negotiation.c> 
    Options -MultiViews 
</IfModule> 

RewriteEngine On 

# Redirect Trailing Slashes If Not A Folder... 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)/$ /$1 [L,R=301] 

# Handle Front Controller... 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L] 

# Handle Authorization Header 
RewriteCond %{HTTP:Authorization} . 
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 
</IfModule> 

Antwort

1

Versuchen:

RewriteEngine on 


RewriteCond %{HTTPS} off [OR] 
RewriteCond %{HTTP_HOST} ^www\.(.+) 
RewriteRule^https://%1%{REQUEST_URI} [NC,L] 

Dies wird umleiten beide http oder www-https://

Oder Sie verwenden:

RewriteEngine on 
RewriteCond %{SERVER_NAME} ^(?:www\.)?(xy)\.com$ 
RewriteRule^https://%1%{REQUEST_URI} [END,QSA,R=permanent] 
+0

Hat nicht funktioniert, habe ich zunächst Beitrag bearbeitet. –

+0

Was meinst du mit "funktioniert nicht"? Hast du die 2. Option ausprobiert? – starkeen

1

Um alle HTTP-Anfragen an HTTPS zu machen gehen Alles, was Sie benötigen, ist:

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

Es sagt im Grunde, wenn HTTPS nicht eingeschaltet ist, dann wird es in https ändern: //