1

我只想删除 www 并为我域中的任何页面强制建立安全连接。

我为此使用了双重重定向,但我不知道这是否是一种好习惯,或者它可能会受到搜索引擎的惩罚。我也很想知道是否有更好的方法来做到这一点:

# Remove www
  RewriteCond %{HTTP_HOST} ^www.example.com$
  RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

# Force https    
  RewriteCond %{HTTP_HOST} ^example.com$
  RewriteCond %{HTTPS} !=on
  RewriteRule ^(.*)$ https://example.com/$1 [R=301,L] 
4

1 回答 1

1

只有被重定向两次的特定 url 会受到惩罚(使用httpwith的 url www)。

重定向后到达的结果 url ( httpswithout www) 不会受到惩罚。

因此,如果您的网址已经使用httpswithout建立www,那么您不会看到惩罚影响,但是如果您将网站从 without 移动www到 without 并同时添加https,您可能会看到临时惩罚,它应该不会太多尽管搜索引擎很快就会发现该网站刚刚移动并且应该保留其大部分排名。

编辑要在单个重定向中执行这两项操作,您可以执行以下操作:

# Force https and remove www
  RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$
  RewriteCond %{HTTP_HOST} ^www\.example\.com$ [OR]
  RewriteCond %{HTTPS} !=on
  RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]  
于 2013-08-29T03:00:37.180 回答