我从 stackoverflow 的一个问题中提取了以下代码(在多域站点上使用 mod_rewrite htaccess 强制执行 www 和尾部斜杠)并直接从apache.org提取。
该方案包括三个要求:
- 确保生产域始终以 www 开头。
- 不要附加www。到 beta.domain.tld、dev.domain.tld、mobile.domain.tld
- 最后确保每个 url 都被重写为 https。
我想出了以下条件:
# Enforce www, if no subdomain is given
RewriteCond %{HTTP_HOST} !^(beta|dev|mobile|www)\.
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI}/ [R]
# Enfore SSL for all Domains
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
上述规则按预期工作,尽管一个案例不起作用:
https://domain.tld/未正确重定向到https://www.domain.tld/
有人可以帮我解决这个问题吗?