本帖最后由 阳 于 2018-11-06 08:21:17 编辑。

本站部署过程中发现 huizzd.comwww.huizzd.com 指向的同一页面都会被收录。影响排名。

这时候我们可以把其中一个域名301永久重定向到另一个域名传递权重,不推荐停止解析其中任何一个。

我想主要使用 www.huizzd.com,访问 huizzd.com301 跳转到 www.huizzd.com

首先把 www.huizzd.comhuizzd.com 解析到同一个 ip。

其次,设置好域名解析后修改 bcloud_nginx_user.conf 配置文件

if ($host !~* www\..*){
	rewrite ^(.*)$ $scheme://www.$host$1 permanent;
}

最后到 BCH主机控制面板 / 常用操作 - 站点启停 里面 重载站点服务。

update 2018-10-11: 上述规则把所有绑定的域名都强制加WWW头,可以只匹配具体的域名:

if ($host ~* ^huizzd\.com$){
 rewrite ^(.*)$ $scheme://www.huizzd.com$1 permanent;
}

Nginx Rewrite规则常用指令 if,rewrite,set,return

if指令

语法:if(condition){...}

使用环境:server, location

该指令用于检查一个条件是否符合,如果条件符合,则执行大括号内的语句。

其中,condition 中可以包含的判断标识如下:

  • ~ 为区分大小写匹配
  • ~* 为不区分大小写匹配
  • !~ 区分大小写不匹配
  • !~* 不区分大小写不匹配
  • -f!-f 用来判断是否存在文件
  • -d!-d 用来判断是否存在目录
  • -e!-e 用来判断是否存在文件或目录
  • -x!-x 用来判断文件是否可执行

rewrite指令

语法:rewrite regex replacement flag

使用环境:serverlocationif

该指令根据表达式来重定向URI,或者修改字符串。

flag标记有:

  • last 相当于Apache里的[L]标记,表示完成rewrite
  • break 终止匹配, 不再匹配后面的规则
  • redirect 返回302临时重定向 地址栏会显示跳转后的地址
  • permanent 返回301永久重定向 地址栏会显示跳转后的地址

return指令

语法:return code

使用环境:serverlocationif

该指令用于结束规则的执行并返回状态吗给客户端。

状态码包括:204(No Content)、400(Bad Request)、402(Payment Required)、403(Forbidden)、404(Not Found)、405(Method Not Allowed)、406(Not Acceptable)、408(Request Timeout)、410(Gone)、411(Length Required)、413(Request Entity Too Large)、416(Requested Range Not Satisfiable)、500(Internal Server Error)、501(Not Implemented)、502(Bad Gateway)、503(Service Unavailable)和504(Gateway Timeout)。

set指令

语法:set variable value

使用环境:serverlocationif

该指令用于定义一个变量,并给变量赋值。

共收到 0 条回复