给网站绑定域名之后,很多人没有注意到:example.com和www.example.com两个地址都能打开同一个网站。
对访客来说没什么区别,但对搜索引擎来说,它们是两个不同的地址,内容却一模一样,容易造成重复内容,权重也会分散。所以需要选定一个作为主地址,另一个用301永久重定向跳转过去。
本文讲这几件事:
- 先决定用www还是非www;
- Web Rules方法(Lightning Stack);
.htaccess方法(Hybrid Stack);- HTTPS跳转和www跳转的区别;
- 设置之后出问题怎么排查。
本文按Cloudways官方帮助文档整理,文中带标注的截图来自官方文档。Web Rules目前是官方的“公开预览”功能,名称和位置可能会调整,以你后台实际显示为准。
先决定:用www还是不用?
没有标准答案,两种都可以,只要统一。
- 非www(
example.com):地址短,目前新网站选这种比较多; - www(
www.example.com):老网站用的多。
选的时候记住一条:老网站搬家,保持原来的地址不变。原来是www.example.com,搬到Cloudways之后还是用www,不要为了好看改掉,否则要重新做一次跳转,搜索引擎里的排名也会受影响。迁移之后的SEO处理见《换主机、网站搬家后怎么保住SEO排名?》。
设置跳转之前的准备
- 两个地址都要能访问:根域名和
www的DNS记录都要添加。www可以是指向服务器IP的A记录,也可以是指向根域名的CNAME记录,否则www打不开,也就没法跳转。添加根域名的时候,Cloudways会自动带上www别名; - 在「Domain Management」里设置主域名:选你想用的那个,点击「Make Primary」。设为主域名之后,WordPress里的网站地址会跟着改,步骤见《Cloudways建站教程》;
- SSL证书要同时覆盖两个地址:不然跳转前后会有一个提示不安全,见《Cloudways SSL证书安装失败、不自动续期怎么办?》;
- 看一下网站用的是哪种运行环境(Stack):Lightning Stack用Nginx,不支持
.htaccess,要用Web Rules;Hybrid Stack用Apache和Nginx,可以用.htaccess,也可以用Web Rules。运行环境的区别见《Cloudways网站怎么加速?》。
方法一:Web Rules(不用写代码)
官方的Web Rules功能,用来在后台管理跳转、重写和响应头,不用自己改.htaccess。它最初是为Lightning Stack设计的,Hybrid Stack也可以用。
第一步:打开Web Rules
进入网站的管理面板,点击左侧菜单的「Web Rules」。

页面分「Header Rules」(响应头规则)和「Rewrite Rules」(重写规则)两个页签,www跳转在「Rewrite Rules」里设置。
第二步:添加跳转规则
在「Rewrite Rules」页签点击「Add Rule」,按官方的“www跳转到非www”示例填写:
| 字段 | 填写 |
|---|---|
| Action | Permanent redirect(301 status code) |
| Source | /* |
| Destination | https://example.com/(改成你的域名) |
| Attach condition | 打开 |
| Condition Type | Host |
| Operator | Equals(=) |
| Value | www.example.com(改成你的域名) |
意思是:访问的主机名等于www.example.com时,永久跳转到https://example.com/。
反过来想把非www跳转到www,把Destination改成https://www.example.com/,条件的Value改成example.com即可。

规则的表单里还有一项「Keep or discard original query string」,选true表示保留网址后面的参数(比如?id=1)。

第三步:测试
保存之后马上测试:在浏览器里分别访问www和非www的地址,看有没有跳转到你设置的那个,网站的首页和内页都要试。
Web Rules的限制
- 每个网站最多25条重写/跳转规则;响应头规则最多10条;
- 每条规则只能附加一个条件;
- 规则太多或者条件复杂,官方建议用Hybrid Stack加
.htaccess; - 官方建议尽量不要超过25条规则,少用复杂和连环的条件。
方法二:.htaccess(Hybrid Stack)
网站用的是Hybrid Stack,也可以直接在.htaccess文件里加规则。官方提供的两条规则:
强制跳转到非www:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
强制跳转到www:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]
把example.com换成你自己的域名。需要注意:
- 官方示例里跳转的目标写的是
http://。网站已经启用HTTPS的话,建议改成https://,避免多跳转一次; - 修改
.htaccess之前,先手动备份一次,写错了会导致整个网站打不开,备份方法见《Cloudways怎么备份和恢复网站?》; - 修改文件的方法:通过SFTP或SSH连接,见《Cloudways后台常用设置:SFTP/SSH连接、PHP参数修改、Staging测试站》;
- 网站是WordPress的话,规则要写在
# BEGIN WordPress那一段之前,不然可能被WordPress自己的规则抢先处理。
如果网站用的是Lightning Stack,.htaccess文件不起作用,写了也没有效果,改用方法一。
HTTPS跳转和www跳转,是两回事
| 解决什么问题 | 在哪里设置 | |
|---|---|---|
| www跳转 | 统一www和非www两个地址 | Web Rules或.htaccess |
| HTTPS跳转 | 把http://跳转到https:// | 安装SSL证书后点击「Enable HTTPS」,或者在「Application Settings」里设置 |
最理想的结果,是不管访客输入下面哪一个,最终都落在同一个地址上:
http://example.com
http://www.example.com
https://example.com
https://www.example.com
官方对HTTPS跳转有一条提醒:如果已经在Cloudflare、Sucuri、WordPress插件或者.htaccess里设置过HTTPS跳转,不要再在Cloudways平台上开启,多处同时跳转,容易出现“重定向次数过多”的错误。
设置之后出问题,怎么排查?
| 现象 | 可能的原因 | 处理办法 |
|---|---|---|
| 浏览器提示“重定向次数过多” | 多处跳转互相冲突,比如Cloudways、Cloudflare、插件各设了一遍 | 只保留一处,其他的关掉;Cloudflare的SSL模式不要选“灵活”,见《Cloudways怎么用免费Cloudflare?》 |
| 同上 | 规则把访客重定向回了自己,形成循环 | 检查规则的Source和Destination,别让目标地址又匹配同一条规则 |
| 跳转没生效(Lightning Stack) | 规则写在了.htaccess里 | Lightning Stack不读.htaccess,改用Web Rules |
www地址打不开 | www没有解析记录 | 添加A记录,或者指向根域名的CNAME记录 |
| 跳转后提示证书不安全 | SSL证书没有覆盖跳转后的地址 | 重新安装证书,把根域名和www都加进去 |
| 改了规则没变化 | 浏览器缓存了旧的301结果 | 换无痕窗口测试,用了Cloudflare的话清除缓存 |
浏览器会把301缓存很久,测试时用无痕窗口,或者用不同的设备,不然可能一直看到旧的结果。
常见问题
用了Cloudflare,在哪里设置跳转?
Cloudflare自己也能设置跳转规则,但本文只讲Cloudways上的两种方法。不管用哪里,原则是只设置一处,不要重复。
Web Rules的“公开预览”是什么意思?
官方说明,公开预览是提前开放给用户测试和使用的功能,会按逐步推出的方式更新。功能可以用,但按钮和名称以后可能会调整。
要不要给www和非www都装SSL证书?
要。官方的说明里,只给根域名装证书,访客输入www的地址时,浏览器会提示不安全。
跳转会影响SEO吗?
301永久重定向是搜索引擎推荐的做法,用来告诉搜索引擎哪个是主地址。官方的建议是永久跳转用301,只有临时的跳转才用302。
总结
www和非www要统一成一个地址。在Cloudways上,网站用Lightning Stack,就用后台的Web Rules:「Rewrite Rules」里添加一条301跳转,条件选Host等于你不想用的那个地址。Hybrid Stack也可以在.htaccess里加官方提供的两条规则之一。
跳转之后,用无痕窗口测试四个地址都能落到同一个地址,SSL证书覆盖两个域名,并且HTTPS跳转只在一个地方设置。
更多Cloudways的使用教程,可以查看《Cloudways主机教程汇总》。



