You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在.htaccess中设置旧域名全局重定向至新域名根目录?

旧域名全局重定向到新域名根目录的解决方案

嘿,我来帮你搞定这个全局重定向的问题!你要的是把旧域名下所有页面都直接跳转到新域名的根目录,不带原来的路径,对吧?我给你分两种最常见的服务器环境来写规则,应该能解决你之前的错误跳转问题:

Apache 服务器(.htaccess 配置)

把下面的规则放到旧域名根目录的 .htaccess 文件里就行,记得替换成你的实际域名:

# 旧域名全局重定向到新域名根目录
RewriteEngine On
# 匹配旧域名(包含带www和不带www的情况)
RewriteCond %{HTTP_HOST} ^old-domain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.old-domain\.com$
# 重定向所有路径到新域名根,强制不带原路径
RewriteRule ^(.*)$ https://new-domain.com/ [R=301,L]

关键说明:

  • R=301:表示永久重定向,对SEO友好,搜索引擎会更新索引指向新域名;如果还在测试阶段,可以先用 R=302(临时重定向),避免浏览器缓存错误的跳转规则。
  • L:表示这是最后一条执行的规则,防止后续其他规则干扰重定向逻辑。
  • 结尾的 /:确保跳转目标是新域名的根目录,不会把旧路径附加到新域名后面。

Nginx 服务器(配置文件)

找到旧域名对应的 server 块配置,替换成下面的内容(同样替换实际域名):

# 旧域名全局重定向到新域名根目录
server {
    listen 80;
    listen 443 ssl; # 如果旧域名启用了HTTPS,保留这一行
    server_name old-domain.com www.old-domain.com;

    # 如果旧域名有SSL证书,在这里添加证书路径(没有的话可以删掉下面两行)
    # ssl_certificate /usr/local/nginx/conf/certs/old-domain.crt;
    # ssl_certificate_key /usr/local/nginx/conf/certs/old-domain.key;

    # 直接重定向所有请求到新域名根目录
    return 301 https://new-domain.com/;
}

关键说明:

Nginx的这个配置更直接,不管用户请求旧域名的任何路径,都会直接跳转到新域名的根目录,完全不会携带原路径,也不用担心循环跳转的问题(只要新域名的 server 块是独立配置的就行)。

测试小技巧

配置完成后,你可以用浏览器的隐私模式访问旧域名的任意页面,比如 https://old-domain.com/any/old/path,确认是否直接跳转到 https://new-domain.com/ 而不是 https://new-domain.com/any/old/path。

内容的提问来源于stack exchange,提问作者Beat Richli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:32:13