我在一个网站上工作,只有当你输入www。只有www子域有一个A记录。裸/裸域不能被赋予一个A记录。裸域也不能被赋予一个DNS别名。这意味着没有“www”的网站在你的浏览器中显示一个错误。
我正在努力思考任何可能解决这个可用性问题的创造性解决方案。
htaccess是否会重写如下规则:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
在这种情况下工作,以强制用户访问www工作站点,并防止用户在浏览器中看到错误?
我认为它可能不起作用,因为htaccess文件只有在用户已经输入www(有A记录)时才能被访问。
(htaccess代码的其他示例在此线程中)Redirect non-www to www in .htaccess
如果这不是一个有效的选择,有没有其他可能有效的创造性解决方案?
1条答案
按热度按时间j9per5c41#
不,如果DNS没有指向
.htaccess
规则,它们将不起作用。发出重定向的唯一方法是将DNS指向重定向的Web服务器。CNAME
记录从来不适用于域顶点,所以他们从来不是一个选项.唯一的DNS记录,将解析一个网站的域顶点是A
记录.我怀疑你正在使用的网络主机,不给予你一个IP地址,把到A记录,只有一个名称。它们可能警告说IP地址可能会在没有警告的情况下更改。在这种情况下,还有其他可能的解决方案:让您的Web主机成为DNS主机
许多网络主机会为您托管您的DNS。他们可以为您保持
A
和CNAME
记录最新。他们可以在APEX使用A记录并根据需要更改它们。如果您的网络主机提供此服务,您可以在DNS注册器中更改NS
记录以指向Web主机提供的值。通常是ns1.example.com
和ns2.example.com
。使用
ANAME
或ALIAS
记录许多DNS主机现在允许您输入一个名称,但将其作为一个
A
记录。(例如每隔几分钟)查找该名称的IP地址,并使用当前值提供一个A
记录。这些记录在不同的DNS主机上具有不同的名称,但它们通常被称为ANAME
或ALIAS
记录。如果您当前的DNS主机不提供此服务,您可以切换到一个功能更强的DNS主机来提供此服务。使用第三方重定向服务
如果您现有的Web主机不给予您一个IP地址以用于
A
记录,你可以使用一个备用的网络主机来重定向。大多数的网络主机会给予你一个IP地址,并将其放入DNS记录中,该地址不会在没有通知的情况下更改。你可以为你的域顶点找到一个备用的主机,并使用该主机只重定向到www。您的wwwCNAME
记录将继续指向您现有的主机。