0

我有这个 .htaccess 规则

重写引擎开启

RewriteCond %{HTTPS} 关闭

重写规则 ^(.*)$ https://% {SERVER_NAME}%{REQUEST_URI} [L,R]

这包括父域但不包括子域。

我的子域与父域具有相同的公用文件夹。

example.com 被重定向到https://example.com

但是 subdomain.example.com 没有重定向到https://subdomain.example.com

正如我上面所说,两者都指向同一个公用文件夹,所以我希望上述规则能够同时处理两者。

但我不想在 htaccess 规则中写我的域名或子域名。它应涵盖任何域和任何子域

4

2 回答 2

1

您可以使用HTTP_HOST标题执行此操作:

RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R]

因此,您可以从请求中获取它,而不是使用虚拟主机的服务器名称。由于您不使用捕获,因此还简化了正则表达式。

于 2019-02-15T20:14:02.600 回答
0
  1. 转到您的子域文件夹
  2. 在此文件夹中创建 .htaccess 文件
  3. 并粘贴此代码:

只需复制并粘贴此代码:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
于 2020-04-07T20:18:49.490 回答