Php .htaccess在Apache2中通过SSL/HTTPS访问时不工作

Php .htaccess在Apache2中通过SSL/HTTPS访问时不工作,php,apache,.htaccess,mod-rewrite,ssl,Php,Apache,.htaccess,Mod Rewrite,Ssl,我的.htaccess配置有问题。我的Web服务器是Apache2,我的网站是用PHP编写的。但是,我在.htaccess上遇到了一些问题 当我通过非ssl()访问它时,我的.htaccess是工作的。我使用.htaccess重写URL并通过自定义模板处理错误。但是,当我通过SSL()访问它时,对于索引页来说,这是一项工作。但是,当我访问时,显示404未找到(显示默认的404未找到页面,而不是我的自定义页面。这意味着,我的.htaccess代码未加载) 对于我的URL结构,它是。如果我访问,它就

我的.htaccess配置有问题。我的Web服务器是Apache2,我的网站是用PHP编写的。但是,我在.htaccess上遇到了一些问题

当我通过非ssl()访问它时,我的.htaccess是工作的。我使用.htaccess重写URL并通过自定义模板处理错误。但是,当我通过SSL()访问它时,对于索引页来说,这是一项工作。但是,当我访问时,显示404未找到(显示默认的404未找到页面,而不是我的自定义页面。这意味着,我的.htaccess代码未加载)

对于我的URL结构,它是。如果我访问,它就工作了。但是,不是通过SSL。问题是什么?顺便说一句,my/etc/apache2/sites available/website.conf代码是:

<VirtualHost *:80>                                                                          
        ServerName mydomain.com                                                              
        ServerAdmin webmaster@localhost                                                     
        DocumentRoot /var/www/html/website/                                                 

        <Directory /var/www/html/website>                                                   
          Options Indexes FollowSymLinks                                                    
          AllowOverride All                                                                 
          Require all granted                                                               
        </Directory>                                                                        

        # LogLevel info ssl:warn                                                             

        ErrorLog ${APACHE_LOG_DIR}/error.log                                                
        CustomLog ${APACHE_LOG_DIR}/access.log combined                                     
        ErrorLog ${APACHE_LOG_DIR}/error.log                                                
        CustomLog ${APACHE_LOG_DIR}/access.log combined  

        # enabled or disabled at a global level, it is possible to                          
        # For most configuration files from conf-available/, which are                      
        # enabled or disabled at a global level, it is possible to                          
        # include a line for only one particular virtual host. For example the              
        # following line enables the CGI configuration for this host only                   
        # after it has been globally disabled with "a2disconf".                             
        #Include conf-available/serve-cgi-bin.conf 

</VirtualHost>                                                                              
我正在Windows中使用Laragon开发它。生产环境是:Ubuntu 16、PHP7和Apache2。谢谢

对不起,语法错误,或者你不明白我的意思。非常感谢您阅读我的问题:)

告诉apache,此配置仅适用于所有接口(
*
)上的流量,但仅适用于端口80(
:80
)上的流量。
AllowOverride All
未应用于https(端口443),因为它不匹配


要解决此问题,您需要另一个虚拟主机,
。您可以复制两个虚拟主机中的内容,也可以使用include,请参见此。

您的意思是,我需要创建具有不同端口的新虚拟主机,以便通过https处理请求,我错了吗?CMIIW。感谢您的回复。没错,您需要两个虚拟主机来处理http和https(服务器故障问题正是如此)。如果您可以使用https访问您的服务器,您已经在某个地方有一个
SSLEngine(和其他
SSLCertificateFile
),您可能需要调整/重用它。
RewriteEngine On                                                                      
RewriteRule ^page/([A-Za-z0-9-]+)/?$ index.php?load=page&page=$1 [NC]                 
ErrorDocument 404 /public/404.html