HTTPS重定向WordPress多站点网络

时间:2017-09-20 20:34:12

标签: wordpress .htaccess redirect https multisite

我有一个WordPress多站点网络设置,其上托管有多个网站。我想用SSL来覆盖其中一些网站。我在服务器上安装了SAN Cert,其中包括SSL应该涵盖的域。我有以下重写规则,但它们似乎只适用于domain1.org上的非www http到非www https重定向:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{ENV:HTTPS} !on [NC]
RewriteCond %{HTTP_HOST} ^domain1\.org [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domain1\.org [NC]
RewriteRule ^(.*)$ https://domain1.org/$1 [R,L]

RewriteCond %{ENV:HTTPS} !on [NC]
RewriteCond %{HTTP_HOST} ^domain2\.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domain2\.com [NC]
RewriteRule ^(.*)$ https://domain2.com/$1 [R,L]

我尝试更改域名网站的Site Address (URL)(更新网站的SiteurlHome值)以包含HTTPS,但这没有任何效果结果。

此外,现在domain2.com正在将任何请求(包括https)重定向到http版本。为了解决这个问题,我删除了对domain2.com的重写,并继续将所有请求重定向到http。

更新

为了解决这个问题,我完全删除了htaccess重写,并更改了网站设置中的Site Address (URL)以使用https网址。这适用于domain1.org,但domain2.com继续重定向到每个请求的http。多站点域名会这样做的原因是什么?

2 个答案:

答案 0 :(得分:0)

你有wp_config.php吗?

define('FORCE_SSL_ADMIN', true)

您是否使用某些插件进行SSL?

答案 1 :(得分:0)

试试这个htaccess片段。此外,您应将所有网站网址更改为https。

此外,我建议使用此插件(https://deliciousbrains.com/wp-migrate-db-pro/)将所有链接从http更改为https。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

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

# END WordPress

此致 编