我在其他(主)Web服務器後面運行Wordpress。主服務器確實有一個規則來/ WPA WordPress的服務器的所有請求重定向用的ProxyPass使用ProxyPass將WordPress的http更改爲使用Load Balancer後面的https
ProxyPass /wpa/ http://vm.example.com/wpa/
ProxyPassReverse /wpa/ http://vm.example.com/wpa/
的Wordpress本身自帶的WordPress的根這個.htaccess文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wpa/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wpa/index.php [L]
</IfModule>
一切與http正常工作。但我想切換到https,這是一個問題。 SSL終止在負載平衡器完成。
問題是,Load Balancer後面的所有流量都是非ssl的。 如果我從http更改Wordpress homeurl和siteurl到https,我得到一個重定向錯誤(循環)。
我試圖在主服務器上使用這樣的規則:
RewriteCond %{HTTPS} !=on
RewriteRule ^/wpa/(.*)$ https://www.example.com/wpa/$1 [L,R=301]
仍然獲得了重定向錯誤。我試圖檢查RewriteLog,但我找不到正確的信息。
有沒有人有線索如何解決這個問題?
謝謝你,$ _SERVER ['HTTPS'] ='on'適用於我。我們還使用$ _SERVER ['HTTP_HOST'] = $ _SERVER ['HTTP_X_FORWARDED_HOST']來使用主Apache服務器的主機名/ URL。 – vine
還有一些:我用我的舊htaccess。我之前沒有清理它,但它工作正常。 – vine