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.