同一站点的两个单独域上的重定向问题

Posted

技术标签:

【中文标题】同一站点的两个单独域上的重定向问题【英文标题】:Redirect Issues on two seperate domains for the same site 【发布时间】:2018-08-16 20:39:31 【问题描述】:

我有两个域:原始的 my-site.co.uk 和一个新的 mysite.co.uk(因此丢失了连字符)。我在 heroku 上托管该网站并使用他们的 SSL 证书。

我的要求只是在 my-site 上进行 301 重定向,然后转发到 mysite

我已经更新了我的配置,将站点列为新的mysite,并且我正在强制使用 SSL。

我在自定义域下的 heroku 上列出了两个站点,但这引发了一个可怕的浏览器错误,指出找不到证书名称。

我现在已经删除了原来的my-site,但此刻,我只是得到一个未找到的 IP,而不是重定向。

域名在 godaddy,这是一个 Phoenix 1.3 应用。

更新 non-www.my-site 会重定向,但 www.my-site 不会。

我错过了什么?

【问题讨论】:

【参考方案1】:

问题。在您的 DNS 配置中,非 www 是通过 A 记录还是别名指向 Heroku?如果非 www 没有正确重定向但 www 没有正确重定向,则可能是新的 DNS 配置尚未传播,因为 CNAME 几乎总是需要更长的时间,然后 A 记录会更改。

我不完全确定 Heroku 是否可以通过仅向新站点添加自定义域来处理您需要的重定向。看起来你的问题是answered here。另一种解决方案可能是重定向服务,例如easyredirect,或者如果你想自己推出这应该可以:

server 
  listen 80;
  listen [::]:80;
  server_name old.tld *.old.tld;
  return 301 $scheme://www.new.tld;

server 
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  server_name old.tld *.old.tld;
  return 301 $scheme://www.new.tld;

【讨论】:

以上是关于同一站点的两个单独域上的重定向问题的主要内容,如果未能解决你的问题,请参考以下文章

301 将所有页面重定向到新域上的同一页面

添加负载均衡器时 Django 多租户站点的重定向循环

google app engine java - 基于域的重定向

IIS Sharepoint 站点的重定向规则

.htaccess 301 将旧域上的所有页面重定向到新域上的单个页面

将任何子域重定向到主域上的页面