我们有一个通配符SSL证书,应该在给定域的任何子域上工作。
所以在这个服务器上我们有这个文件结构:
/ home / DOMAIN / public_html / subdomainx / home / DOMAIN / public_html / subdomainy等…
现在,安装了证书,但是当您通过https访问任何子域名(例如:hxxps://subdomainx.domain.com)时,它指向
/home/DOMAIN/public_html/index.php
我们需要通过https hxxps://subdomainx.domain.com访问子域名
它指向的目录是相同的http: / home / DOMAIN / public_html / subdomainx
我们的供应商告诉我们,这是不可能的,目前的行为是正确的,为了达到这个目标,我们需要用htaccess来做到这一点。
我已经尝试了一些东西,包括这个解决scheme,这似乎是我所需要的: https ://stackoverflow.com/questions/5365612/advice-on-configuring-htaccess-file-to-redirect-http-subdomain- 到HTTPS-equival
但不能得到它的工作。
有小费吗? 谢谢。
补充:服务器是Apache。
确保您的vhost文件夹中正确configuration了ssl.subdomain.domain.com.conf。
这个文件应该是这样的:
<VirtualHost *:443> ServerAlias www.subdomain.domain.com subdomain.domain.com ServerAdmin [email protected] DocumentRoot /home/domain/public_html/subdomain BytesLog domlogs/domain-bytes_log ServerName www.domain.com CustomLog domlogs/domain.com-access_log combined #ScriptAlias /cgi-bin/ /home/domain/public_html/cgi-bin/ User domain Group domain suPHP_ConfigPath /home/domain/etc/ SSLEnable SSLCertificateFile /opt/apache/conf/ssl.crt/domain.com.crt SSLCertificateKeyFile /opt/apache/conf/ssl.key/domain.com.key SSLLogFile /var/log/ssl/domain.com_log UserDir public_html SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown . . . </VirtualHost>
我敢打赌,你需要一个NameVirtualHost *:443 (或者你的虚拟主机被定义)。
另一个select是定义一个VirtualDocumentRoot ,如果你的虚拟主机configuration除了文根根之外都是一样的。
.htaccess文件绝对不是你可以用Apache做的任何事情 ,除了“使用htaccess文件”。