it-swarm.com.de

So reparieren Sie eine Umleitungskette

Ich hoffe, dass jemand in der Lage sein könnte, dabei zu helfen.

Beim Crawlen meiner Website wird angezeigt, dass auf meiner Startseite eine Weiterleitungskette vorhanden ist. Grundsätzlich zeigt es, dass ich gehe von:

http:> https:> https://www.

Ich brauche alles, um von http:// und http://www direkt zu https://www. ohne die Kette zu gelangen.

Unten ist eine Kopie des .htaccess, kann jeder sehen, ob es einen Fehler gibt, der ihn verursachen könnte.

</IfModule>

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

# 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

Außerdem habe ich gesehen, dass sie ein Plugin namens haben

SSL-Fixer für unsicheren Inhalt installiert.

Es zeigt dies unter seinem Status:

Array (
[HTTPS] => on
[PHPHANDLER] => /usr/local/php70/bin/php
[HTTP_X_REAL_IP] => 109.158.20.158
[HTTP_X_FORWARDED_PROTO] => https
)

Ich denke, möglicherweise hat dies etwas mit dem Problem zu tun, alle Gedanken sind willkommen.

1
user2868832

Die Weiterleitung von Nicht-WWW zu WWW wird mit Sicherheit (später) von WordPress durchgeführt. Ihre bestehende Weiterleitung in .htaccess ist nur HTTP zu HTTPS, und zwar auf demselben Host. Dies ist die bevorzugte (sprich: notwendige) Methode, wenn Sie vorhaben, HSTS in naher Zukunft zu implementieren. Dies ist also nicht unbedingt ein "Fehler".

Um die doppelte Weiterleitung zu vermeiden, können Sie die Weiterleitung von Nicht-WWW zu WWW in Ihre vorhandene .htaccess-Regel integrieren. Zum Beispiel:

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_Host} !^www\.example\.com
RewriteRule .* https://www.example.com%{REQUEST_URI} [R=301,L]

Wenn Sie insbesondere eine generische (beliebige Domain-) Lösung ohne Hardcodierung der Domain wünschen, können Sie stattdessen Folgendes tun:

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

Wobei %1 ein Rückverweis auf den Hostnamen (abzüglich eines www.-Präfixes) im zuletzt gefundenen CondPattern ist. Beachten Sie jedoch, dass diese "generische" Lösung ohne weitere Änderungen auch Subdomains umleitet.

0
MrWhite