将 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/
中有两个文件
- 默认
- 默认 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
文件中。
第一种情况:
我尝试将 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/
- 默认
- 默认 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
文件中。