禁用或重定向用作ServerAlias的其他域名的SSL请求。

时间:2013-07-24 15:21:05

标签: apache mod-rewrite ssl-certificate mod-ssl

例如,我们在mainwebsite.com上设置了我们的网站,并且已经使用了很长时间,并启用了SSL。我们还将mws.com作为某些地方使用的较短网址。

所有传入mws.com的请求都会重定向到mainwebsite.com。我们在httpd.conf中做了类似的事情。

ServerName www.mainwebsite.com
ServerAlias mainwebsite.com
ServerAlias mws.com
ServerAlias www.mws.com

RewriteCond %{HTTP_HOST} ^(www\.)?mws\.com [NC]
RewriteRule ^(.*)$ http://www.mainwebsite.com$1 [R=301,L]

这很有效,直到涉及到SSL。在我们的ssl.conf中,我们有

ServerName www.mainwebsite.com:443
<VirtualHost *:443>
</VirtualHost>

如果有人最终前往https://www.mws.com,他们会收到与证书绑定到mainwebsite.com相关的SSL错误。

我希望能够在他们收到错误之前重定向它们。我试过这样做

RewriteCond %{HTTPS} =on
RewriteCond %{HTTP_HOST} ^(www\.)?mws\.com [NC]
RewriteRule ^(.*)$ http://www.mainwebsite.com$1 [R=301,L]

但它似乎无所作为 - 只会坐在那里(我假设在循环中,虽然无法在日志中捕获它)。

如果在没有发出警告的情况下进入SSL,我该如何重定向?或者,如果不可能,我怎样才能使443只听取mainwebsite.com,而不是mws.com?

0 个答案:

没有答案