stuuii
Goto Top

Direkte Weiterleitung zu HTTPS ohne .htaccess

Hallo zusammen

Ich möchte, dass ein User, welcher im Browser "domain.xyz" eingibt (also den Request "http://domain.xyz" ausführt), immer auf https://www.domain.xyz weitergeleitet wird.
Jedoch möchte ich dies ohne Zwischenschritt - also: http://domain.xyz > https://domain.xyz > https://www.domain.xyz oder http://domain.xyz > http://www.domain.xyz > https://www.domain.xyz - hinbekommen, da dies unnötig Zeit beansprucht und die Ladegeschwindigkeit der Seite negativ beeinflusst.
Kennt jemand eine Möglichkeit?

Bestenfalls ohne .htaccess.
Ich habe Plesk 12.5.30 auf Ubuntu 14.04

Danke für eure Hilfe!

Freundliche Grüsse
stuuii

Content-Key: 296762

Url: https://administrator.de/contentid/296762

Printed on: April 19, 2024 at 13:04 o'clock

Mitglied: 117643
117643 Feb 19, 2016 at 09:59:09 (UTC)
Goto Top
Also wenn die komplette Seite nur noch per HTTPS und die www. adresse erreichbar ist, sollte auch google das erkennen
und in den suchergebnissen die optimierte seite verwenden.

htaccess dürfte in deinem fall der richtige weg sein, kenne plesk nicht genau, aber wenn du dort die apache direktiven anpassen kannst,
könntest du den redirect auch dort hinterlegen.

Den zwischenschritt https://domain.xyz > https://www.domain.xyz kannst du dir übrigens sparen, das geht auch in einem rutsch
Member: Chonta
Solution Chonta Feb 19, 2016 updated at 10:30:02 (UTC)
Goto Top
Hallo,

du machst im V-Host deines Webservers der ja auf domain.xyz und www.domain.xyz lauscht eineen redirekt auf https.
Der vhostteil für https muss natürlich auch auf beides lauschen.

Gruß

Chonta
Member: wiesi200
wiesi200 Feb 19, 2016 at 10:19:27 (UTC)
Goto Top
Hallo,

zusätzlich währ noch HSTS interessant.
https://de.wikipedia.org/wiki/HTTP_Strict_Transport_Security
Member: stuuii
stuuii Feb 19, 2016 at 10:29:51 (UTC)
Goto Top
Danke für den Tipp. Habe das jetzt so gelöst:

<VirtualHost *:80 >
	ServerName "domain.xyz:80"  
	ServerAlias "www.domain.xyz"  

	Redirect / https://www.domain.xyz/
</VirtualHost>

<VirtualHost *:443 >
	ServerName "www.domain.xyz:443"  

	*
	*
	*
</VirtualHost>


Google PageSpeed Insights sagen auch, dass das gut sei. https://i.imgur.com/erl9xwP.png

Danke für die Hilfe!

Freundliche Grüsse
stuuii
Member: Chonta
Chonta Feb 19, 2016 at 10:32:29 (UTC)
Goto Top
Hallo,

ServerName "www.domain.xyz:443"
das :443 im Namen würde ich wegmachen.
Duchr Virtualhost *:443 wird ja schon gesagt welcher Port.

Gruß

Chonta
Member: agowa338
agowa338 Feb 20, 2016 at 03:18:21 (UTC)
Goto Top
Ich hab es folgendermaßen gemacht:
<VirtualHost DOMAIN.de:80>
        ServerName www.DOMAIN.de
        # Redirect http:{{comment_single_line_double_slash:0}}
        RewriteEngine On
        RewriteCond %{HTTP_HOST}   ^(?:.*)DOMAIN\.de$ [NC]
        RewriteCond %{SERVER_PORT}   !^443$
        RewriteRule  (.*)  https://www.DOMAIN.de$1   [R=301,L]
</VirtualHost>

<VirtualHost DOMAIN.de:443>
        ServerAdmin webmaster@DOMAIN.de
        ServerName www.DOMAIN.de
        ...
        Header always add Strict-Transport-Security "max-age=15768000"  
</VirtualHost>


Für dich interessant ist die Zeile mit Strict-Transport-Security, diese sorgt dafür, dass die Weiterleitung :80 => :443 nur beim ersten mal verwendet wird.
Das [R=301,L] im :80 VirtualHost sorgt für eine HTTP 301 Weiterleitung, also ein Moved Permanently, dadurch teilst du allen (auch Suchmaschinen) mit, dass die Seite permanent umgezogen ist auf :443 in diesem Fall.

Und hier noch etwas, falls du die Ladezeiten effektiv verkürzen willst (zumindest nach dem ersten mal Laden face-wink ). Einfach in den :443 VirtualHost einfügen:
    <IfModule mod_expires.c>
        ExpiresActive On
        ExpiresDefault "access plus 10 seconds"  
        ExpiresByType text/html "access plus 60 seconds"  
        ExpiresByType image/gif "access plus 120 minutes"  
        ExpiresByType image/jpeg "access plus 120 minutes"  
        ExpiresByType image/png "access plus 120 minutes"  
        ExpiresByType image/svg+xml "access plus 120 minutes"  
        ExpiresByType text/css "access plus 60 minutes"  
        ExpiresByType text/javascript "access plus 60 minutes"  
        ExpiresByType application/javascript "access plus 60 minutes"  
        ExpiresByType application/x-javascript "access plus 60 minutes"  
        ExpiresByType text/xml "access plus 60 minutes"  
    </IfModule>