这是一个有点奇怪的请求。出于某种原因,所有者safeandbuy.com
将他们的域名指向了我的 IP 地址。这之所以是个问题,是因为有各种各样的爬虫试图使用该域名爬取我的网站。
我能做些什么来解决这个问题?
答案1
您可以在 Web 服务器上为 safeandbuy.com 设置虚拟主机来获取所有流量,并且只显示一个索引页,上面写着“我不是 safeandbuy.com”。这至少可以将点击量从您的实际域中拉出来。
safeandbuy.com 的 whois 信息包含联系电话、地址和电子邮件。您可以尝试联系他们并告知他们指向了错误的 IP。
答案2
好的,这是可以做的非常好的事情:
将其添加到索引页顶部的“标题”部分下:
<base href="http://www.mydomain.com" target="_top"/>
(对本网站资深会员 BillThor 的补充)
通过这样做,将自己的域名指向您的域名的人..一旦有人到达那里并点击链接,它就会将他们重定向到使用您的链接,这样他们只能窃取主页链接而不能窃取其他任何东西)。
不幸的是,没有办法阻止这种人。但你所能做的就是从他的域名重定向回你的链接。
对这个棘手问题的另一个永久解决办法。
这取决于您使用的服务器程序,但 apache2 在“/etc/apache2/site-enabled”目录中有其虚拟主机设置。基本上,它有一个默认虚拟主机(“000-default”),目前已为 mydomain.com 网站设置。因此,这是我的方法。
将当前的 000-default 复制到 010-somename。(请注意,000-default 通常是符号链接文件,因此您必须从 ../site-available/default 复制它。)
在010-somename中设置虚拟主机设置。在第一行下面添加这两行
'<VirtualHost *:80>': ServerName www.mydomain.com ServerAlias mydomain.com
使 000-default 指向其他目录(其他地方)。在“000-default”文件中,将“DocumentRoot /var/www”更改为指向其他位置,如“DocumentRoot /var/www-test”。目录 /var/www-test 不需要存在,如果不存在,使用其他域名的连接将出错。
重新启动 apache2:“sudo /etc/init.d/apache2 restart”
我希望这是有帮助的。
答案3
添加一个重定向到 403 或 404 的默认虚拟主机(如其他人所述)是一个不错的选择。如果您想要快速添加到 .htaccess 文件中的内容,您可以执行以下操作来阻止非官方域(需要 Apache 2.4 并启用 mod_rewrite):
# Send requests that don't match domain name to a 404 page
<If "req('Host') !~ /your-domain-name.com/i && req('Host') != 'your.ip.address'">
RewriteRule ^ - [R=404,L]
</If>
注意:如果您的域名有多种拼写指向同一个 IP 地址,则需要修改表达式以包含该 IP 地址的所有有效域名。
答案4
尝试使用 Php 识别网页的 URL
if(strpos( $_SERVER['HTTP_HOST'], 'yoururl.com') !== false){
echo "This is Genuine Yoururl.com";
} else {
header('Location: http://www.yoururl.com.com/'); exit; // Someone has opened your site as iframe or is using A record to point toward your website
}