共享服务器上托管的一个域的.htaccess SSL HTTPS

共享服务器上托管的一个域的.htaccess SSL HTTPS,.htaccess,ssl-certificate,.htaccess,Ssl Certificate,我疯狂地寻找答案。。。下面是一个场景: 我有一个托管多个域的服务器。但是,主域应该是唯一一个加载为HTTPS的域 每当我尝试以下代码时: 重新启动发动机 重写cond%{SERVER_PORT}80 重写规则^.*$$1[R,L] 其余域从更改为HTTPS://www.MAINDOMAIN.com/FolderName等 如何进行此操作?最简单的方法是在端口443上只有一个虚拟主机www.maindomain.com可用,并且只有www.maindomain.com:80重定向到https &l

我疯狂地寻找答案。。。下面是一个场景:

我有一个托管多个域的服务器。但是,主域应该是唯一一个加载为HTTPS的域

每当我尝试以下代码时:

重新启动发动机

重写cond%{SERVER_PORT}80

重写规则^.*$$1[R,L]

其余域从更改为HTTPS://www.MAINDOMAIN.com/FolderName等


如何进行此操作?

最简单的方法是在端口443上只有一个虚拟主机www.maindomain.com可用,并且只有www.maindomain.com:80重定向到https

<VirtualHost *:80>
   ServerName www.maindomain.com
   Redirect / https://www.maindomain.com/
</VirtualHost>

<VirtualHost *:443>
  ServerName www.maindomain.com
  SSLEngine on
  ...
</VirtualHost>

<VirtualHost *:80>
  ServerName www.site.com
  ...
</VirtualHost>
不需要重写规则。如果需要,您还可以在其他站点上使用HTTPS重定向到HTTP:

<VirtualHost *:443>
  ServerName www.site.com
  SSLEngine on
  Redirect / http://www.site.com/
</Virtualhost>
否则https://www.site.com 将由https://www.maindomain.com,因为这将是HTTPS提供的唯一虚拟主机。这将使它成为HTTPS的默认虚拟主机,因此它将服务于所有HTTPS请求