我正在运行一个WordPress多站点网络,允许用户在他们的网站上选择使用自定义域名。选择不使用自定义域的用户被分配到WP安装的子域(例如: fred.example.com,example.com是安装WP多站点网络的URL )。
我为主域配置了通配符SSL,但我没有可用于自定义域名的证书。
我需要的是一个htaccess规则,如果请求是针对example.com或*.example.com的,则强制将流量发送到https,但如果请求是使用自定义域的,则不需要。
它的工作应如下:
http://example.com/*→https://example.com/*http://foo.example.com/*→https://foo.example.com/*http://customdomain.com/*→http://customdomain.com/*发布于 2017-05-09 21:14:10
在您的.htaccess文件顶部附近尝试下面这样的内容。使用mod_rewrite:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteCond %{HTTP_HOST} ^(?:[a-z0-9-]+\.)?example\.com
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=302,L]上面写的是..。对于所有不是HTTPS并且匹配example.com或<subdomain>.example.com的请求,然后在同一个主机上重定向到https://,相同的URL-路径。
请注意,这不允许www.<subdomain>.example.com (我认为您的SSL证书无论如何都不包含)。
只有当您确信302 (临时)工作正常时,才将它更改为301 (永久)。
https://stackoverflow.com/questions/43879746
复制相似问题