我目前的.htaccess设置:
RewriteCond %{HTTPS} (on)?
RewriteCond %{HTTP:Host} ^(?!www\.)(.+)$ [NC]
RewriteCond %{REQUEST_URI} (.+)
RewriteRule .? http(?%1s)://www.%2%3 [R=301,L]
如果我有m.mysite.com
的子域名,我该如何跳过添加www。到它的前面?当我只想要www.m.mysite.com
时,上面的规则将我的网址设置为m.mysite.com
。
我将此规则放在我的.htaccess中,因为我需要mysite.com
重定向到www.mysite.com
。
感谢您的帮助。如果我找到答案,我会发布答案。
答案 0 :(得分:0)
对第2行的以下更改应该有效。 (另)
RewriteCond %{HTTPS} (on)?
RewriteCond %{HTTP:Host} ^([^.]+\.[^.]+)$ [NC]
RewriteCond %{REQUEST_URI} (.+)
RewriteRule .? http(?%1s)://www.%2%3 [R=301,L]
编辑:(解释)此代码仅在主机中只有1个点时才添加www。超过1个点意味着存在子域
答案 1 :(得分:0)
尝试此规则:
RewriteCond %{HTTP_HOST} =mysite.com [NC]
RewriteCond %{HTTPS} (on)?
RewriteRule .* http(?%1s)://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
主域名将采用硬编码(仅提及一次)..但这是最佳方式。