DNS 记录需要一个 IP 地址。
这代表您没有“www”的域。即https://example.com
Heroku 无法提供 IP 地址,因为它不断变化。
他们提供网址。
这对于 CNAME 记录来说是完美的。
CNAME 用 www 代表您的域。 '字首'。即“https://www.example.com”
但这对于 A 记录来说是个问题,因为需要 IP 地址。
意味着如果您添加 CNAME 记录,“https://www.example.com”将重定向到您的 Heroku 应用,但“https://example.com”不会。
较新的服务支持 CNAME flattening/ALIAS/ANAME。
CNAME flattening/ALIAS/ANAME 相当于能够将 URL 添加到 am A Record 而不是 IP 地址。
这解决了这个问题,因为您可以简单地添加您的 Heroku URL。
不过,Hostinger 尚不支持 CNAME flattening/ALIAS/ANAME。
另一种解决方案是使用 DNS 转发,但在 Hostinger 上也不可用,除非您迁移到 Clouflare
Hostinger 在 cPanel 中有一个“重定向”部分,但也无法将“https://example.com”重定向到“https://www.example.com”。
Hostinger 上所有这些问题的解决方法是在 DNS 管理中添加一条指向您的 Hostinger 服务器 IP 地址的 A 记录。
在该服务器中,我们创建一个 .htcaccess 文件。
在该文件中,我们添加了用于永久 301 重定向到您的“https://www.example.com”(即您的 Heroku 应用)的代码。
以下是应添加到 .htcaccess 文件中的代码:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
获取 Hostinger 的 IP 地址以指向该 .htcaccess 文件的方法是检查 cPanel 内的左侧面板或进入详细信息部分。
您可以在聊天部分向您的 Hostinger 支持人员展示此内容,他们可以为您完成。