.htaccess 如果没有apex/naked域的A记录,htaccess重写规则是否会强制www工作?

bxgwgixi  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(104)

我在一个网站上工作,只有当你输入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
如果这不是一个有效的选择,有没有其他可能有效的创造性解决方案?

j9per5c4

j9per5c41#

不,如果DNS没有指向.htaccess规则,它们将不起作用。发出重定向的唯一方法是将DNS指向重定向的Web服务器。
CNAME记录从来不适用于域顶点,所以他们从来不是一个选项.唯一的DNS记录,将解析一个网站的域顶点是A记录.我怀疑你正在使用的网络主机,不给予你一个IP地址,把到A记录,只有一个名称。它们可能警告说IP地址可能会在没有警告的情况下更改。在这种情况下,还有其他可能的解决方案:

让您的Web主机成为DNS主机

许多网络主机会为您托管您的DNS。他们可以为您保持ACNAME记录最新。他们可以在APEX使用A记录并根据需要更改它们。如果您的网络主机提供此服务,您可以在DNS注册器中更改NS记录以指向Web主机提供的值。通常是ns1.example.comns2.example.com

使用ANAMEALIAS记录

许多DNS主机现在允许您输入一个名称,但将其作为一个A记录。(例如每隔几分钟)查找该名称的IP地址,并使用当前值提供一个A记录。这些记录在不同的DNS主机上具有不同的名称,但它们通常被称为ANAMEALIAS记录。如果您当前的DNS主机不提供此服务,您可以切换到一个功能更强的DNS主机来提供此服务。

使用第三方重定向服务

如果您现有的Web主机不给予您一个IP地址以用于A记录,你可以使用一个备用的网络主机来重定向。大多数的网络主机会给予你一个IP地址,并将其放入DNS记录中,该地址不会在没有通知的情况下更改。你可以为你的域顶点找到一个备用的主机,并使用该主机只重定向到www。您的www CNAME记录将继续指向您现有的主机。

相关问题