![在 apache 上通过 https 排除一个子域提供服务](https://linux22.com/image/672613/%E5%9C%A8%20apache%20%E4%B8%8A%E9%80%9A%E8%BF%87%20https%20%E6%8E%92%E9%99%A4%E4%B8%80%E4%B8%AA%E5%AD%90%E5%9F%9F%E6%8F%90%E4%BE%9B%E6%9C%8D%E5%8A%A1.png)
小介绍:
我有特定域的 SSL 证书(example.com, info.example.com, intranet.example.com
,...)
除之外的所有域都info.example.com
在 Apache 上运行。info.example.com
正在 Windows 服务器上运行。
我的问题
所有网站都正常运行,但我有一个问题,info.example.com
我不想将其作为“HTTPS”服务器(暂时)。但我的 VirtualHosts 中有一个永久重定向……这导致了问题 -> 当我访问时info.example.com
,它会将我重定向到https://info.example.com
我不想要的地方。如果我删除永久重定向,它就会正常工作,但我不想在我的 上通过 http 提供任何服务example.com
。
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/var/www/html"
ServerName example.com
Redirect permanent / https://example.com/
<Directory "/var/www/html">
Options -Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
我甚至不会在这里问,因为这肯定是一件非常愚蠢的事情,但我为此挣扎太久了。
请原谅我的英语。
答案1
如果你说的是真的,只需替换
Redirect permanent / https://example.com/
经过
RewriteEngine on
Rewritecond %{HTTP_HOST} !^info\.example\.com
RewriteRule (.*) https://example.com/$1 [R=301,L]
并且不要忘记启用 mod_rewrite ( a2enmod rewrite
)