【问题标题】:Apache Rewrite Rule for https subdomain redirecthttps 子域重定向的 Apache 重写规则
【发布时间】:2016-10-17 19:13:09
【问题描述】:

我有以下 Apache 配置:

<VirtualHost *:80>
    ServerName example.com
    Redirect permanent / https://www.example.com/
</VirtualHost>

<VirtualHost *:443>
    <IfModule mod_rewrite.c>
            RewriteEngine On

            RewriteCond %{HTTP_HOST}   !^www\.example\.com [NC]
            RewriteRule ^/(.*)         https://www.example.com/$1 [R=301,L]
    </IfModule>
</VirtualHost>

我会重定向以下网址:

http://subdomain.example.com -> https://www.example.com
http://example.com -> https://www.example.com
https://example.com -> https://www.example.com

但是,它不适用于以下 URL:

https://subdomain.example.com -> https://subdomain.example.com (instead of https://www.example.com)

因此,输入最后一个 URL 的用户会收到证书不正确的提示(可以理解 - 域不匹配)。有没有办法纠正这个问题,让所有重定向都转到https://www.example.com

提前致谢!

【问题讨论】:

    标签: apache mod-rewrite ssl https


    【解决方案1】:

    您需要为 subdomain.example.com 创建虚拟主机并在那里实施重写规则,将https://subdomain.example.com 重定向到https://www.example.com

        <VirtualHost *:443>
       ServerName subdomain.example.com
       RewriteEngine On
          RedirectPermanent / https://www.example.com/
         </VirtualHost>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-24
      • 2020-05-13
      • 2017-08-21
      • 1970-01-01
      • 2016-03-28
      • 1970-01-01
      相关资源
      最近更新 更多