我只想删除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]
答案 0 :(得分:1)
只有被重定向两次的特定网址才会受到处罚(使用http
的网址使用www
)。
重定向后到达的结果网址(https
没有www
)不会受到处罚。
因此,如果您的网址已使用https
而不是www
建立,则您不会看到惩罚影响,但是如果您将网站从www
移至没有并添加https
同时,你可能会看到一个temporpary惩罚,它应该不会太多,因为搜索引擎不会花很长时间才能抓住该网站刚刚移动并应该保留其大部分级别
修改要在单个重定向中执行这两项操作,您可以执行以下操作:
# 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]