是否可以将条件逻辑添加到 htaccess 多站点以重定向到除单个域之外的 www 和 https?

Can a conditional logic be added to htaccess multisite to redirect to www and https except for a single domain?

我正试图在我的 Wordpress Multisite 上找到 htaccess 的条件逻辑解决方案。

我发现通过直接输入 htaccess 文件强制将每个域重定向到 https 和 www 版本,子站点的速度得到了相当大的改进。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} (?!^www\.)^(.+)$ [OR]
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

我面临的问题是主域是一个非 www 站点,而且它也在重定向。我已经知道一个解决方案,我可以在 htaccess 文件中单独输入每个域,但这会减慢网站的加载时间。

我要做的是执行一个条件语句来适应这一点,例如:

如果网站是 domain1.com,则不做任何更改,否则对 www 和 https 执行以下 rewrite/redirect。

有这种方法吗?

是的,从 Apache 2.4 开始,您可以使用 If、ElseIF 和 Else 指令来实现您的想法。

要实现它,您将使用如下内容:

<If "req('Host') !~ /domain1.com/i">
   {{ Rewrite rules you only want to apply if the domain isn't domain1.com }}
</If>

来源: