htaccess HTTPS重定向(不包括HTTPS子域)

时间:2019-03-06 11:51:36

标签: .htaccess https

我知道这里已经被问过很多次了,但是找不到适合我的设置的配置。

要求:

  1. http://www.example.comhttps://www.example.com(&example.com)必须重定向到https://test.example.com。 (请注意,这是一个子域)
  2. https://sub_1.example.com将被排除而不重定向。 (请注意,子域带有“下划线”)

我所拥有的:

RewriteEngine On
RewriteBase /
# EXCLUDE following sub-domains.
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^sub_1\.example\.com$ [NC]
RewriteCond %{HTTP_HOST} !^test\.example\.com$ [NC]
# REDIRECT to
RewriteRule (.*) https://test.example.com/$1 [R=301,L]

>>问题: 我的https://sub_1.example.com实际上是提供移动应用程序的API。当我使用上面的代码时,移动失败。因此,似乎该子域没有被正确排除,并没有受到重定向的保护。

在清理过程中会有所帮助。

1 个答案:

答案 0 :(得分:1)

已修复!

需要在现有规则之前添加一个例外,因为我需要排除https://sub_1.example.com/api

RewriteCond %{HTTP_HOST} ^sub_1\.example\.com [NC]
RewriteRule ^api - [L]