How to redirect old domain names

有些时候我们需要让一个域名的访问重定向到另一个域名比如旧域名被墙的时候

有些域名提供商会提供这项服务但功能非常基础只能单纯的匹配域名然后做跳转而且这种跳转会丢失参数等信息或者干脆就匹配失败基本无法使用

要重定向域名且保留请求参数就需要你有一个专门的服务器来接受请求然后返回重定向信息这个需求确实无法单纯用 DNS 实现的

使用一个服务器

由于我本身有博客服务器而且我使用了 hestia 面板管理服务器所以很轻松就可以创建一个空的网站然后使用 apache 的 .htaccess 来实现匹配跳转

你只需要在网站根目录创建这个文件,Then write in it:

在上面的例子中old-domain and new-domain 就是你的旧域名和新域名对应修改即可(注意域名后缀也要对应不要留着 com)。Such,你只需要将你的域名解析到这个服务器就可以实现跳转了。same,你也可以给网站添加多个别名这样就可以将多个子域都解析到这里进行转发

使用 Cloudflare

如果你没有方便的服务器进行域名停放也可以考虑使用 cf 的免费服务这是 Gemini 2.5 pro 生成的结果我并没有尝试但理论上也是可行的潜在缺点有两个

  1. 解析不稳定cf 在国内很多节点都被干扰和屏蔽了
  2. 迁移时间长需要修改 ns 代理生效时间可达 24 hour,这期间域名可能解析不了之类的很难搞因为你必须将域名放到 cf 才能操作

操作步骤

  1. 注册Cloudflare账户如果你还没有可以免费注册一个
  2. 添加旧域名在Cloudflare中添加你即将过期的旧域名
  3. 更改NS记录Cloudflare会提供给你两个新的Nameserver(NS)地址你需要登录到你旧域名的注册商(如GoDaddy, Namecheap等)将该域名的NS记录修改为Cloudflare提供的那两个这个过程通常需要几小时到48小时生效
  4. 设置跳转规则
    • 在Cloudflare控制面板中找到你的旧域名然后进入 “Rules” > “Redirect Rules” (这是较新的功能) 或者 “Page Rules” (旧功能依然可用)。
    • 创建一个规则
      • If incoming requests match (当访问的URL是): old-domain.with/*
      • Then (那么执行):
        • Type: Dynamic (如果是Redirect Rules)
        • URL redirect: https://new-domain.com{http.request.uri.path} (这是Redirect Rules的语法)
        • or Forwarding URL (如果是Page Rules): https://new-domain.com/$1
        • Status code: 301 Permanent Redirect

    here * and {http.request.uri.path} or $1 是关键它们是通配符和变量代表了域名后面所有的路径和参数确保了请求可以被原封不动地传递过去

 

Original article written by LogStudio:R0uter's Blog » How to redirect old domain names

Reproduced Please keep the source and description link:https://www.logcg.com/archives/3896.html

About the Author

R0uter

The non-declaration,I have written articles are original,Reproduced, please indicate the link on this page and my name。

Leave a Reply

Your email address will not be published. Required fields are marked *