从www重定向到没有www

时间:2015-12-18 14:32:24

标签: apache .htaccess redirect ssl

我在Apache服务器上的虚拟主机中有以下内容,

Redirect permanent / https://domain.com
<directory />
        <IfModule mod_rewrite.c>
                Options +FollowSymlinks
                RewriteEngine On
        </IfModule>

        # Redirects WWW URL's to Non-WWW URL's

        <IfModule mod_rewrite.c>
                RewriteCond %{HTTPS} on
                RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
                RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
        </IfModule>
</directory>

我们拥有domain.com的SSL,但对于www.domain.com,我遇到了重定向问题,如果用户访问,http://www.domain.com他们将从那里重定向到{{1但是,如果用户转到https://domain.com他们得到的连接不是私有的,也没有重定向。我认为这是因为www没有链接到SSL,不管怎样都没有为域名的www版本购买SSL?

2 个答案:

答案 0 :(得分:1)

简短回答。 没有办法做到这一点。安全方面,它从那以后。

在任何类型的重定向发生之前,与https的连接发生。当您通过https连接到服务器本身时,您希望确保连接有效并且安全。 之后,然后Apache处理请求并进行重写或其他任何操作。你唯一能做的就是购买证书。

这些是您的选择。只要用户自行签名并且按照设计进行操作,您的用户就会始终获得该警告页。

购买证书时,MOST CA将为您提供非版本和www版本。另一个明智的另一个技巧是购买www版本,大多数时候你也获得了基本域名。您可以以每年4.99美元的价格获得有效证书。它并没有那么糟糕。

答案 1 :(得分:0)

不,没有办法。在发送HOST变量之前,TLS隧道会生效。