如何通过htaccess将旧域名所有请求重定向到新网站首页
旧域名全站重定向到新站首页的 .htaccess 配置方法
首先确认旧站点所在的Apache服务器已经开启mod_rewrite模块,这是重写规则生效的基础。
操作步骤
- 进入旧站点的根目录,找到已有的
.htaccess文件,若文件不存在则手动新建同名文件(注意文件名开头的.不可省略,该文件默认是系统隐藏文件) - 将以下规则写入
.htaccess文件中:
RewriteEngine On # 匹配旧域名(含不带www和带www两种情况) RewriteCond %{HTTP_HOST} ^oldwebsite\.com$ [NC,OR] RewriteCond %{HTTP_HOST} ^www\.oldwebsite\.com$ [NC] # 所有请求统一重定向到新站首页,301为永久重定向 RewriteRule ^(.*)$ https://newwebsite.com/ [L,R=301]
规则说明
[NC]表示匹配域名时不区分大小写,兼容用户输入大小写混合的域名场景[OR]表示两个域名匹配条件满足任意一个即可触发后续重定向规则^(.*)$匹配所有请求路径,不管用户访问旧站的任意子页面都会触发重定向[L]表示本条是当前优先级最高的规则,匹配成功后不再执行后续其他重写规则R=301代表返回301永久重定向状态码,对SEO更友好,会将旧站的权重传递到新站;如果只是临时迁移需要用临时重定向,将参数改为R=302即可
注意事项
- 替换规则中的
oldwebsite.com为你的实际旧域名,newwebsite.com替换为你的新站域名,若新站未开启HTTPS则将链接前缀的https改为http - 配置完成后需要清空浏览器缓存再测试,301重定向会被浏览器长期缓存,未清空缓存可能会看到旧的跳转结果
- 如果旧站原有其他
.htaccess规则,请将这段重定向规则放在所有规则的最前面,避免被其他规则拦截导致不生效
内容的提问来源于stack exchange,提问作者George Chatzidimitriou
相关产品推荐
相关产品推荐

