【问题标题】:.htaccess SSL HTTPS For One Domain Hosted on Shared Server.htaccess SSL HTTPS 用于托管在共享服务器上的一个域
【发布时间】:2014-01-10 00:17:23
【问题描述】:

我已经疯狂地寻找答案......所以这里是场景:

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

每当我尝试以下代码时:

重写引擎开启

RewriteCond %{SERVER_PORT} 80

重写规则 ^(.*)$ https://www.MAINDOMAIN.com/$1 [R,L]

其余域从http://www.site.com 更改为 HTTP(S)://www.MAINDOMAIN.com/FolderName 等等。

我该怎么办?

【问题讨论】:

    标签: .htaccess ssl-certificate


    【解决方案1】:

    最直接的方法是只有一个虚拟主机 www.maindomain.com 在端口 443 上可用,并且只有 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>
    

    不需要 RewriteRule。如果您愿意,您还可以将其他站点上的 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 请求提供服务。

    【讨论】:

      猜你喜欢
      • 2017-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-18
      • 2023-04-05
      • 2013-11-11
      • 2023-03-10
      • 2016-11-16
      相关资源
      最近更新 更多