首页 > 解决方案 > 从 COMODO 应用 SSL 后的 VirtualHost 重定向循环

问题描述

应用配置后,它会循环直到我得到“ERR_TOO_MANY_REDIRECTS”

这是我的虚拟主机配置:

NameVirtualHost *

<VirtualHost *:80>
    ServerName     my-domain.com
    ServerAlias    my-site.my-domain.com
    DocumentRoot    /var/www/my-site
    ErrorLog /home/my-site/logs/my-site/error.log
    CustomLog /home/my-site/logs/my-site/access.log combined
    Redirect permanent / https://my-site.my-domain.com/
</VirtualHost>

<VirtualHost *:443>
    ServerAdmin     admin@my-domain.com
    ServerName     my-domain.com
    ServerAlias    my-site.my-domain.com
    DirectoryIndex index.php
    DocumentRoot    /var/www/my-site
    ErrorLog /home/my-site/logs/my-site/ssl/error.log
    CustomLog /home/my-site/logs/my-site/ssl/access.log combined
    SSLEngine on
    SSLCertificateFile      /home/my-site/SSL/site_com_ar.crt
    SSLCertificateKeyFile   /home/my-site/SSL/HSSL-5dceb81ff3d10.key
    SSLCertificateChainFile /home/my-site/SSL/USERTrustRSAAddTrustCA.crt
</VirtualHost>

我怎样才能找到这个问题?

标签: htmlapachesslredirect

解决方案


我已经解决了它以防万一有人需要它:我在每个子域的根目录中添加或修改了一个“.htaccess”文件,内容如下:

首先确保您启用了“mod_rewrite”:

sudo a2enmod rewrite

然后重置apache:

sudo systemctl restart apache2

现在在您的子域根目录中创建或修改(如果它已经存在)“.htaccess”:

<IfModule mod_rewrite.c>
        RewriteEngine On
        # Redirect to HTTPS
        RewriteCond %{HTTP:X-Forwarded-Proto} !https
        RewriteCond %{HTTPS} off
        RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
</IfModule>

希望这对你也有帮助!


推荐阅读