Apache上单个网站的默认HTTPS



我有一个WAMP服务器,上面有几个站点。我只想为其中一个站点启用SSL作为默认值。

而https://www.example.com是可访问的,没有自动重定向http://www.example.com.

此外,httpd -t显示Syntax Ok请帮忙。

这是我的httpd-vhosts.conf文件

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com 
    RewriteEngine On
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin hi@santo.sh
    DocumentRoot "C:/wamp/www/example"
    ServerName http://manage.example.com/
    ServerAlias http://manage.example.com/   
</VirtualHost>
<VirtualHost *:443>
    ServerAdmin hi@santo.sh
    DocumentRoot "c:/wamp/www/example/public"
    ServerName example.com
    ServerAlias www.example.com
    SSLEngine on
    SSLCertificateFile "C:/wamp/OpenSSL/cert/sslcert.cert"
    SSLCertificateKeyFile "C:/wamp/OpenSSL/certs/mydomain.key" 
</VirtualHost>

这个问题在ServerFault 上得到了很好的回答

这部分是错误的。

RewriteEngine On
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]

虽然有很多选择:这里是最好的一个:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com 
    # [ Http to Https ]
    Redirect 301 / https://www.example.com/
</VirtualHost>

最新更新