WordPress https-Umleitungsschleife

Lesezeit: 2 Minuten

Benutzer-Avatar
Laowai

Ich versuche, den WordPress-Blog mit SSL ohne Erfolg in einem Unterordner in einer Domain einzurichten. Wenn der Blog .htaccess so eingestellt ist, dass alle HTTP auf HTTPS umgeleitet werden, führt dies zu einer Umleitungsschleife. Wenn .htaccess nicht so eingestellt ist, dass alle HTTP auf HTTPS umgeleitet werden, wird der Blog nicht richtig angezeigt, da der Browser alle HTTP-Anforderungen blockiert, da SSL verwendet wird, auch WP-Anmeldungen schlagen in diesem Fall fehl.

Details:
- Fresh WordPress installation
- Domain is using SSL
- WP installed on subfolder example.com/blog/
- HTTPS set to WP's home and site URL in database

Hier ist der Blog-Ordner .htaccess

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

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

Hier ist die Hauptdomain .htaccess:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\..+$
RewriteRule ^(.*)$ http://foobar.example.com/$1 [L,R=301]

Hier ist die Apache-Konfiguration für HTTP-Anfragen: /etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>
   ServerName example.com
   ServerAlias *.example.com
   ServerSignature Off
   RewriteEngine on
   RewriteCond %{HTTPS} !=on
   RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [NE,R,L]
</VirtualHost>

Jede Hilfe und Ideen, was zu überprüfen wäre sehr dankbar.

UPDATE: Ich habe alle HTTP-URLs in der WP-Datenbank manuell durch HTTPS ersetzt, die einzigen Vorkommen waren Beispielseiten- und Beitrags-URLs, aber das hat nicht geholfen, das Problem zu lösen.

Ich konnte das Problem lösen, indem ich $_SERVER hinzufügte[‘HTTPS’]=’ein’; in die wp-config.php. Ich weiß nicht, warum $_SERVER[‘HTTPS’] wird vom System nicht richtig eingestellt, aber ich denke, es hängt irgendwie mit Apache/SSL-Konfigurationen zusammen.

Ohne $_SERVER zu setzen[‘HTTPS’]=’on’ WP konnte HTTPS nicht erkennen und lud Inhalte über HTTP, was bei .htaccess-Umleitungen zu einer Umleitungsschleife führte.

1300080cookie-checkWordPress https-Umleitungsschleife

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy