it-swarm.com.de

http zu https über .htaccess

Ich habe die bestehenden Fragen durchgesehen, bin aber nicht auf etwas gestoßen, was für mich funktioniert.

Ich betreibe derzeit eine Site mit einem Secure SSL-Zertifikat. Es kann unter https://www.example.co.uk zugegriffen werden. Ein Problem besteht darin, dass die Website auch unter http://www.example.co.uk aufgerufen werden kann möchte, dass dies möglich ist. Ich brauche es, um von http zu https umzuleiten.

Ich habe dieses eine Codefragment in einer .htaccess-Datei gefunden.

Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_Host} ^example.co.uk [NC] 
RewriteRule ^(.*)$ https://example.co.uk/$1 [L,R=301]

Dies funktioniert problemlos, wenn der Benutzer beispiel.de in seine Adressleiste eingibt, aber ich muss auch eine bedingte Anweisung hinzufügen, damit der Benutzer 'www.example.co.uk' oder ' http: //www.example.co.uk '. 

Ich habe versucht, wie [OR] zu verwenden, aber dies führt zu Serverfehlern.

Jede Hilfe und Anregung wird geschätzt.

Prost.

57
fitzilla

Versuche Folgendes:

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

Sie können auch basierend auf der Portnummer umleiten, zum Beispiel:

 RewriteCond %{SERVER_PORT} ^80$
 RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Dadurch werden alle an Port 80 empfangenen Anforderungen an HTTPS umgeleitet.

146
BluesRockAddict

Fügen Sie den folgenden Code in der .htaccess-Datei hinzu.

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

change example.com mit Ihrer Website-Domain

URLs-Weiterleitungs-Tutorial finden Sie hier - Weiterleitung von nicht-www an www und HTTP an HTTPS mithilfe der .htaccess-Datei

12
JoyGuru

Probieren Sie es aus, ich habe es benutzt und es funktioniert gut

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_Host}%{REQUEST_URI}
5
Ali Aboussebaba

Versuche dies:

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule (.*) https://%{HTTP_Host}%{REQUEST_URI} [R,L]

Quelle: https://www.ndchost.com/wiki/Apache/redirect-http-to-https

(Ich habe so viele verschiedene Codeblöcke ausprobiert, dieser 3-Liner hat einwandfrei funktioniert)

3
afriend

Ich versuche den obigen Code, aber jeder Code funktioniert nicht für meine Website. Dann probiere ich diesen Code aus. Dieser Code läuft perfekt für meine Website. Sie können die folgende Regel in htaccess verwenden:

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On

//Redirect http to https
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_Host} ^(www\.)?example\.com
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

//Redirect non-www to www
RewriteCond %{HTTP_Host} ^example.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]

</IfModule>

Ändern Sie example.com mit Ihrem Domainnamen und entschuldigen Sie sich für mein schlechtes Englisch.

3
Dinesh Gurjar

Für mich arbeiten NUR diese Variante:

RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]

Danke https://www.reg.ru/support/hosting-i-servery/sajty-i-domeny/kak-dobavit-redirekt/redirekt-s-http-na-https (auf Russisch)

2
Sllouyssgort

Wenn Sie HTTP zu HTTPS umleiten möchten und mit jeder URL www hinzufügen möchten, verwenden Sie den folgenden Befehl htaccess

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_Host}%{REQUEST_URI} [R,L]
RewriteCond %{HTTP_Host} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_Host}/$1 [R=301,L] 

es leitet zuerst HTTP an HTTPS um und dann an WWW.

1
Mady Joshi
# Switch rewrite engine off in case this was installed under HostPay.
RewriteEngine Off

SetEnv DEFAULT_PHP_VERSION 7

DirectoryIndex index.cgi index.php

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

# END WordPress

# RewriteCond %{HTTP_Host} ^compasscommunity.co.uk\.com$ [NC]
# RewriteRule ^(.*)$ https://www.compasscommunity.co.uk/$1 [L,R=301]
1
Compass

Perfekter Code Zum HTML-Index wechseln:

RewriteEngine on
RewriteCond %{HTTP_Host} ^YourNameWebsite\.com$ [OR]
RewriteCond %{HTTP_Host} ^www\.YourNameWebsite\.com$
RewriteRule ^/?$ "https\:\/\/YourNameWebsite\.com\/index\.html" [R=301,L]

Oder

Perfekter Code Zum PHP - Index wechseln:

RewriteEngine on
RewriteCond %{HTTP_Host} ^YourNameWebsite\.com$ [OR]
RewriteCond %{HTTP_Host} ^www\.YourNameWebsite\.com$
RewriteRule ^/?$ "https\:\/\/YourNameWebsite\.com\/index\.php" [R=301,L]
1
Allysha

Um http://example.com oder http://www.example.com zu https://www.example.com auf einfache Weise umzuleiten, können Sie die folgende Regel in htaccess verwenden:

RewriteEngine on

RewriteCond %{HTTPS} off
RewriteCond www.%{HTTP_Host} ^(?:www\.)?(www\..+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [NE,L,R]

[Geprüft]

% {REQUEST_SCHEME} Variable ist seit Apache 2.4 verfügbar. Diese Variable enthält den Wert des angeforderten Schemas (http oder https). In Apache 2.4 können Sie die folgende Regel verwenden:

RewriteEngine on


RewriteCond %{REQUEST_SCHEME} ^http$
RewriteCond %{HTTP_Host} ^(www\.)?(.+)$ [NC]
RewriteRule ^ https://www.%{HTTP_Host}%{REQUEST_URI} [NE,L,R]
1
starkeen

Es gibt bessere und sicherere Methoden, um sicherzustellen, dass der gesamte Datenverkehr über https geht. B. zwei virtuelle Hosts einrichten und den gesamten Verkehr von Ihrer http auf Ihren https Host umleiten. Lesen Sie mehr dazu in diese Antwort hier auf security.stackexchange.com .

Mit dem Einrichten eines virtuellen Hosts für die Umleitung können Sie einen 301-Status senden (dauerhaft umleiten), sodass der Browser erkennt, dass alle folgenden Anforderungen an den https-Server gesendet werden müssen, an den er umgeleitet wurde. Daher werden nach der ersten Weiterleitungsantwort keine weiteren http-Anforderungen gestellt.

Sie sollten auch die angegebenen Antworten sorgfältig prüfen, da Sie bei falschen Umschreiberegeln möglicherweise die Abfrageparameter Ihrer eingehenden Anforderungen verlieren.

1
Wilt

Da dies eines der Top-Ergebnisse bei der Suche ist, funktioniert die akzeptierte Lösung nicht, wenn Sie versuchen, http zur https-Umleitung in AWS Beanstalk hinzuzufügen.

RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^.*$ https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]
1
Ignas2526

Versuchen Sie das RewriteCond %{HTTP_Host} !^www. [NC] RewriteRule ^(.*)$ http://www.%{HTTP_Host}/$1 [R=301,L]

1
krypto99

Nichts davon funktionierte für mich außer diesem. Meine Website wurde in https://www.asmallorange.com gehostet.

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_Host}/$1 [R=301,L]
0
Bee