【问题标题】:How to Write .htaccess that handles subdomains also to redirect to https:如何编写处理子域的 .htaccess 也重定向到 https:
【发布时间】:2019-07-09 22:15:36
【问题描述】:
我有这个 .htaccess 规则
重写引擎开启
RewriteCond %{HTTPS} 关闭
重写规则 ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
这包括父域但不包括子域。
我的子域与父域具有相同的公用文件夹。
example.com 被重定向到https://example.com
但是 subdomain.example.com 没有重定向到https://subdomain.example.com
正如我上面所说,两者都指向同一个公用文件夹,所以我希望上面的规则能够同时处理这两个。
但我不想在 htaccess 规则中写入我的域名或子域名。它应涵盖任何域和任何子域
【问题讨论】:
标签:
.htaccess
centos7
vesta
【解决方案1】:
- 转到您的子域文件夹
- 在此文件夹中创建 .htaccess 文件
- 并粘贴此代码:
只需复制并粘贴此代码:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
【解决方案2】:
您可以使用 HTTP_HOST 标头来做到这一点:
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R]
因此,您可以从请求中获取它,而不是使用虚拟主机的服务器名称。由于您不使用捕获,因此还简化了正则表达式。