it-swarm.com.de

WordPress Redirect Alle HTTP-Anfragen an HTTPS über .htaccess

Das habe ich schon viele Male gemacht, und trotzdem schaffe ich es aus einem unbekannten Grund nicht noch einmal. Versuchte endlose Lösungen. Alles, was ich versucht habe, führt zu einer endlosen Umleitungsschleife.

Was ist die beste Option dafür?

Update 1 Hier sind einige der Dinge ausprobiert;

RewriteCond %{HTTP_Host} ^website\.co\.uk [NC]
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.website.co.uk/$1 [R,L]

Und;

RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.website.co.uk$1 [R,L]

In verschiedenen Browsern getestet, um Caching-Probleme zu vermeiden. Immer noch nichts, nur eine kontinuierliche Umleitungsschleife.

5
Michael Cropper

Ich sehe, wenn Sie einen Link zu Ihrer Seite eingeben, der nicht zu Ihrer Startseite gehört, zum Beispiel:

  • http://www.michaelcropper.co.uk/contact-me
  • www.michaelcropper.co.uk/contact-me
  • michaelcropper.co.uk/contact-me

Wenn https:// nicht im Präfix enthalten ist, wird stattdessen der HTTP-Link geladen. Fügen Sie zwischen dem Tag .htaccess Folgendes in Ihren <IfModule mod_rewrite.c> ein:

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

Wenn an Ihrem .htaccess keine zusätzlichen Änderungen vorgenommen wurden, sollte er wie folgt aussehen:

# 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]
# Rewrite HTTP to HTTPS
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]
</IfModule>
# END WordPress

Lass mich wissen, wie es geht.

Sie können den Header in .htaccess einstellen

<IfModule mod_headers.c>
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains" env=HTTPS
</IfModule>
1
Iggy

versuche dies in deinem .htaccess:

RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</IfModule>
# END WordPress
1
Jasom Dotnet

Fügen Sie Code in eine .htaccess-Datei ein

 <IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteBase /

   RewriteCond %{HTTPS} !=on
   RewriteRule ^ https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]

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

Wenn Sie W3 Total Cache verwenden, funktioniert die Antwort von @Ethan Jinks O'Sullivan nur, wenn Sie die Umleitung wie unten gezeigt vor den W3 Total Cache-Mods in .htaccess platzieren

#BEGIN Rewrite HTTP to HTTPS
<IfModule mod_rewrite.c>
  RewriteCond %{HTTPS} !=on
  RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]
</IfModule>
#END Rewrite HTTP to HTTPS

# BEGIN GZIP COMPRESSION
...
# END GZIP COMPRESSION

# BEGIN DEFLATE COMPRESSION
...
# END DEFLATE COMPRESSION

# BEGIN W3TC Browser Cache
...
# END W3TC Browser Cache

# BEGIN W3TC Page Cache core
...
# END W3TC Page Cache core

# 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
0
Chris Sprague

Fügen Sie dies einfach in Ihre .htaccess-Datei ein

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]

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

# END WordPress
0
zihadul