将 http 重定向到 https,然后将其重定向到子域的文件夹?

Redirect http to https and then redirect it to subdomain's folder?

第一种情况:

我尝试将 http 重定向到 https 并且遵循规则效果很好。

例如:http://subdomain.domain.com to https://subdomain.domain.com

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

第二种情况: 我试图重定向 http://subdomain.domain.com to http://subdomain.domain/folder。为此,我使用了这条规则:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^subdomain\.domain\.com  
RewriteRule ^(.*)$ /folder/

我想要这些重定向:

http://subdomain.domain.com to https://subdomain.domain.com/folder

https://subdomain.domain.com to https://subdomain.domain.com/folder

我尝试合并上述规则,但没有成功。

还有一件事,我没有使用 .htaccess ,而是将这些规则放在 /etc/apache2/sites-available/default.

回答我自己的问题。

实际上 /etc/apache2/sites-available/

中有两个文件
  1. 默认
  2. 默认 ssl

我将规则 http 重定向到 https

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

default 文件和

将规则重定向到子域的 folder as

RewriteEngine On
RewriteCond %{HTTP_HOST} ^subdomain\.domain\.com  
RewriteRule ^(.*)$ /folder/

default-ssl 文件中。