(Apache&Nginx)用代码解决他人域名恶意绑定到你服务器IP的问题

2015年1月22日 0 条评论 972 次阅读 0 人点赞

现象

输入别人的域名,进入的是你自己的网站。

危害

PR劫持,访问者难以辨别真假,搜索引擎收录别人的域名等。

解决办法

不论是Nginx还是Apache,请在修改前做好文件备份,尤其是像博主这样的小白,以防万一!

  • Nginx解决办法(修改完记得重载下Nginx)

请将下面的代码加入到你的nginx.conf文件中,该文件位置可能因为主机和设置不同存在一定的差异。

301跳转到你的域名(你的域名处请改成自己的域名)

  1. server {
  2.     listen       80  default_server;
  3.     server_name  _;
  4.     rewrite ^/(.*)$ http://你的域名/$1 permanent;
  5. }

禁止他人域名解析,并返回错误代码(这里返回的是404,大家可以修改成其它的)

  1. server {
  2.     listen       80  default_server;
  3.     server_name  _;
  4.     return       404;
  5. }
  • Apache解决办法

请将下面的代码放到主机根目录下的.htaccess文件中

将非自己域名的都转向到自己域名下(代码中的www.domain.com请改成自己的域名)

  1. RewriteEngine On
  2. RewriteBase /
  3. RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
  4. RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]

指定某域名转向到自己域名或其他域名(别人的域名和自己的域名请根据实际情况修改)

  1. RewriteEngine on
  2. RewriteCond %{HTTP_HOST} ^别人的域名.com$ [OR]
  3. RewriteCond %{HTTP_HOST} ^www.别人的域名.com$
  4. RewriteRule ^(.*)$ http://www.自己的域名.com/$1 [R=301,L]

PS:上面这个代码也不一定要指向自己的域名,你可以指向别人的(比如:谷歌百度······)。

其实这篇文章发出来是有原因的,开始我也没注意过这个问题,可是今天上来时发现我自己的就被别人恶意绑定了,所以没办法只好在网上找了下解决办法。这里要提醒下各位,我自己用的是Nginx主机,使用的是解决办法2,也就是返回错误代码那个,其它的我自己也没有试过,都是在网上搜集到的。修改我使用的是Notepad++,不建议大家用电脑自带的记事本编辑。另外关于代码加入什么地方的问题,呃······我是直接放在最上面的。

相似文章

12点半

Hello world!

文章评论(0)