Apache 子域使用HTTPS显示错误的内容

Apache 子域使用HTTPS显示错误的内容,apache,.htaccess,mod-rewrite,ssl,https,Apache,.htaccess,Mod Rewrite,Ssl,Https,我在我的主域和一些子域(应用程序、仪表板、支持、培训)上使用通配符SSL。我面临的问题是,当我尝试通过HTTPS访问子域时,它会显示根域的索引/主页,但当通过HTTP访问子域时,它会显示正确的页面。我想知道我需要在.htaccess文件中输入哪些信息才能创建子域: 自动使用HTTPS 使用HTTPS时,在该子域上显示正确的内容 子域当前没有.htaccess文件,因为我不知道此时应该在其中放置什么 下面是HTTP子域的一个示例: 下面是HTTPS子域的一个示例: 以下是主域: 主域正在做我希望它

我在我的主域和一些子域(应用程序、仪表板、支持、培训)上使用通配符SSL。我面临的问题是,当我尝试通过HTTPS访问子域时,它会显示根域的索引/主页,但当通过HTTP访问子域时,它会显示正确的页面。我想知道我需要在.htaccess文件中输入哪些信息才能创建子域:

  • 自动使用HTTPS
  • 使用HTTPS时,在该子域上显示正确的内容
  • 子域当前没有.htaccess文件,因为我不知道此时应该在其中放置什么

    下面是HTTP子域的一个示例:
    下面是HTTPS子域的一个示例:
    以下是主域:

    主域正在做我希望它做的事情(www到非www和自动https重定向),但子域没有做我希望它们做的事情,如上所述

    以下是主域上的.htaccess文件:

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^www\.(.*)
    RewriteRule ^.*$ https://%1/$1 [R=301,L]
    
    最后,我在HostGator提供服务的经销商帐户下使用cPanel


    感谢您关注这个问题

    我也有同样的问题,也使用了HostGator帐户。我在另一个问题上找到了答案

    他们通过对主域应用HTTPS,在子域上强制使用HTTP,然后作为奖励删除所有WWW来解决这个问题

    # for main domain
    RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC]
    RewriteCond %{HTTPS} off [OR]
    RewriteCond %{HTTP_HOST} ^www\. [NC]
    RewriteRule ^ https://domain.com%{REQUEST_URI} [R=301,L,NE]
    
    # for sub domain
    RewriteCond %{HTTP_HOST} ^(www\.)?subdomain\.domain\.com$ [NC]
    RewriteCond %{HTTPS} on [OR]
    RewriteCond %{HTTP_HOST} ^www\. [NC]
    RewriteRule ^ http://subdomain.domain.com%{REQUEST_URI} [R=301,L,NE]
    

    http和https VirtualHost条目是否都指向该域的同一文档根目录?我不知道如何检查。您需要检查Apache配置以了解这一点?抱歉,我不知道,您知道如何在cPanel/WHM中找到它吗?您可以创建一个内容为
    的php文件,然后在浏览器中使用http和https执行该文件,以查看文档的根值。