使用http时,Apache显示默认页面而不是https

使用http时,Apache显示默认页面而不是https,apache,mod-rewrite,https,virtualhost,Apache,Mod Rewrite,Https,Virtualhost,我正在尝试将所有foo.mydomain.com请求重定向到 我的虚拟主机包含以下内容: <VirtualHost *:443> ServerName foo.mydomain.com # Indexes + root dir DirectoryIndex index.html DocumentRoot /home/web/foo.mydomain.com/htdocs SSLEngine on SSLCertificateFil

我正在尝试将所有foo.mydomain.com请求重定向到

我的虚拟主机包含以下内容:

<VirtualHost *:443>
    ServerName foo.mydomain.com

    # Indexes + root dir
    DirectoryIndex index.html
    DocumentRoot /home/web/foo.mydomain.com/htdocs

    SSLEngine on

    SSLCertificateFile /etc/apache2/ssl/server.crt
    SSLCertificateKeyFile /etc/apache2/ssl/server.key

    SSLVerifyClient none

    <IfModule mime.c>
            AddType application/x-x509-ca-cert      .crt
            AddType application/x-pkcs7-crl         .crl
    </IfModule>

    # Logfiles
    ErrorLog /home/web/foo.mydomain.com/logs/error.log
    CustomLog /home/web/foo.mydomain.com/logs/access.log combined
</VirtualHost>

有人知道我做错了什么吗?提前谢谢你

在非https站点的虚拟主机配置中尝试以下操作

即,我的设置是:

<VirtualHost *:80>
RewriteCond %{SEVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
.....
</VirtualHost>

重写COND%{服务器端口}^443$
重写规则^(.*)$https://%{HTTP_HOST}%{REQUEST_URI}[R,L]
.....
这应该将所有传入的http请求重定向到https。然后在端口443的配置中,您可以执行任何需要的操作

注意:也应在htaccess中工作

希望有帮助。不确定你所说的“默认页面”是什么意思,但在标题中,代表太低,无法留下评论

让我知道

干杯


Robin

http和https虚拟主机是否使用相同的文档根目录?
<VirtualHost *:80>
RewriteCond %{SEVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
.....
</VirtualHost>