如何在 .htaccess 中阻止无法识别的主机名(我无法识别的域名正在重定向到我的网站)

如何在 .htaccess 中阻止无法识别的主机名(我无法识别的域名正在重定向到我的网站)

我在共享 Linux 服务器上使用专用 IP......一开始,我看到一个陌生的主机名像镜子一样显示着我自己的网站。我扫描了该网站的 A 记录以调查发生了什么。我发现我的 IP 地址在另一个域的 A 记录中。

为了解决这个冲突我使用了以下定义:

RewriteCond %{HTTP_HOST} !^www\.goodsite.\com [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/?(.*) https://goodsite.com/$1 [L,R,NE]

这招奏效了。但是另一个问题出现了。 当您点击最初显示我的网站的网站时,它会将您重定向到我自己的域名和网站。换句话说,你点击了badsite.com但你重定向到了goodsite.com。这两个域名没有关联,且归不同的实体所有。

我怎样才能避免在我自己的服务器上出现这种重定向?

答案1

这个问题应该在您的虚拟主机配置中解决,而不是通过 .htaccess 解决。如果您使用的是网站托管公司,但无法直接访问 Apache 虚拟主机配置,那么这个问题就是他们管理的服务器配置错误导致的。简而言之,使用serverName正确的虚拟主机配置中的指令,您的网站应该只在有人专门进入浏览器时显示example1.com。您应该与提供商一起解决这个问题。

但是,可以在 中实现类似的功能.htaccess

您可以删除提供商建议的代码并添加以下内容:

RewriteCond %{HTTP_HOST} !^(www\.|)example1\.com$
RewriteRule .* - [F]

这表示对于任何不属于www.example1.com或者 example1.com 以错误的方式拒绝它。

请小心处理 .htaccess 中的代码。您的原始代码中有一个拼写错误,我不确定这是您的提供商造成的,还是您造成的,还是其他原因造成的。

在不查看整个 .htaccess 或不知道服务器配置的情况下,请尝试以下方法确保在更改后可以访问您的网站:www.example1.com在您的浏览器中。

相关内容