【发布时间】:2017-02-08 08:02:07
【问题描述】:
我从 stackoverflow (Enforce www and trailing slash with mod_rewrite htaccess on a multi-domain site) 的一个问题中提取了以下代码,并直接从 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/
有人可以帮我解决这个问题吗?
【问题讨论】:
标签: .htaccess mod-rewrite