我想通过输入http: // mysite . com
或只是mysite来重定向键入输入网站的用户。 com(没有www)到www . mysite . com
。打击URL重写条件和我目前在.htaccess中使用的规则
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
这是正常运作但我最近发现了另一个问题。该网站正在接受请求子域名的请求,例如abc.mysite.com
或xyz.mysite.com
或anythingyoutype.mysite.com以及前缀www(www.antyingyoutype.mysite.com)。这不是我们想要的。我不确定这个问题是否存在,因为我没有提交重写规则,或者还有其他因素导致了这个问题。请帮我解决。
我的网站在Drupal7 + LAMP + Ubuntu环境中运行
答案 0 :(得分:0)
保持这样的规则只将www
添加到主网站:
RewriteCond %{HTTP_HOST} ^mysite\.com$ [NC]
RewriteRule ^ http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
(可选)如果要阻止所有其他通配符域,请使用此规则:
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^[^.]+\.mysite\.com$ [NC]
RewriteRule ^ - [F]