【问题标题】:Custom domain linking, but herokuapp persistent in address bar自定义域链接,但 herokuapp 在地址栏中持续存在
【发布时间】:2026-02-18 09:00:02
【问题描述】:

我已成功让www.jamesdong.comjamesdong.com 指向jamesdong.herokuapp.com。问题是一旦你到达那里,地址栏会显示jamesdong.herokuapp.com 而不是www.jamesdong.comjamesdong.com

知道如何解决这个问题吗?随意尝试在您自己的浏览器中查看问题,站点已上线。

供参考:

heroku domains 显示 3 个域:

jamesdong.com
www.jamesdong.com
jamesdong.herokuapp.com

我使用TigerTech作为我的域名提供商,设置如下:

  • DNS 条目:www.jamesdong.com(我也尝试使用 * 代替 www 作为通配符,结果相同)
  • 类型:CNAME
  • 数据:jamesdong.herokuapp.com

这些都是我可以编辑的设置。

谢谢!

【问题讨论】:

    标签: ruby-on-rails heroku dns cname


    【解决方案1】:

    这样配置

      ALIAS jamesdong.com => jamesdong.herokuapp.com
      CNAME www.jamesdong.com => jamesdong.herokuapp.com
    

    它将被修复。

    【讨论】:

    • 有趣...所以它可以在 IE 中运行,但不能在 Chrome 中运行...我已经清除了我的历史记录和缓存...您使用的是什么浏览器 @ParitoshPiplewar?
    • 另外,我注意到,如果您单击 www.jamesdong.com 的链接,它可以正常工作,但如果您将其物理输入到地址栏中,那么当页面加载时,地址bar 变形为 jamesdong.herokuapp.com。同样,这仅适用于 Chrome。
    • 谢谢,不过,我唯一可以更改的记录类型是 A、AAAA、CNAME、MX、NS、SRV、TXT,我没有 ALIAS 选项...
    • 啊,那不行,因为我已经拥有域名 www.jamesdong.com 和 jamesdong.com 我无法将它们添加为潜在别名。尝试提交只是表示我已经拥有它。
    • 没办法。技术上怎么做,我告诉过你。我不知道您的 DNS 提供商提供什么。我使用 dnsimple.com ,效果最好。
    【解决方案2】:

    最终发生的事情是我的 DNS 提供商不允许 ALIAS 和 CNAME 更改,所以我将以下代码放在我的应用程序帮助程序中

     before_action :redirect_to_www if Rails.env == "production"
    
     def redirect_to_www
       unless /www\.jamesdong\.com/ =~ request.url
         uri = URI.parse(request.url)
         uri.host = "www.jamesdong.com"
         redirect_to uri.to_s
       end
     end
    

    【讨论】:

    • 应用程序助手,我想你的意思是应用程序控制器!它对我不起作用。