刚才在小楼昨夜又东凤看到独立IP有而已被解析的风险,博主还没当一回事。

而且博主在给博客绑定多域名的时候已经用了.htaccess做了通配转跳,无论绑定多少个主要域名都会转跳到主域名上。

图就借用小楼昨夜的:

ban_fuck_domains_01 title=

直接给出博主一直在用的通配代码(.htaccess适用)。

  • RewriteEngine On
  • RewriteBase /
  • RewriteCond %{HTTP_HOST} !^doufu.ru$ [NC]
  • RewriteRule ^(.*)$ http://doufu.ru/$1 [L,R=301]
复制

经检测,这个代码不要放到.htaccess文件的最后,不然后出现首页转跳然后子页面不转跳的情况。

RewriteEngine On 重写规则开启
RewriteBase / 重写规则作用的目录,比如是二级目录bbs,那么就RewriteBase /bbs
RewriteCond 重写规则的条件,定义一条规则条件。符合条件将执行正则表达式
HTTP_HOST http头处理模块
[NC] 域名输入忽略大小
[L,R=301] L=last 最后一条rewrite规则,R=redirect(重定向),301=返回http状态
! 正则表达式里的“非”
^ 以这个域名开头
$ 以域名结尾
* 所有

但是Windows的主机就不能使用.htaccess,这里可以使用php代码进行转跳。

  • <?php
  • //echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
  • $sUrl = $_SERVER['SERVER_NAME'];
  • if ($sUrl!=="doufu.ru")
  • header("Location: http://doufu.ru".":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]);
  • ?>
复制

感觉php最好,通杀,只要是php程序就能用,上面的代码放到每一个页面都能引用到的php文件中,如WordPress就放到主题的header.php的最上面。

然后就因为这个东西,现在不能通过独立IP访问本博客了。

2014年3月1日更新

颇有SEO经验的小V告诉我

实际上正确的做法是将空主机头改为403,否则301转跳的话,域名过多百度会认为你在利用多个域名进行网站作弊
所以博主改进了一下代码,下面的代码放到.htaccess
  • RewriteEngine On
  • RewriteBase /
  • RewriteCond %{HTTP_HOST} !^doufu.ru$ [NC]
  • RewriteRule ^(.*)$ http://doufu.ru/$1 [L,R=403]
复制
然后及时php的代码,同样是放到每一个页面都能引用到的php文件中(下面的代码未测试
  • <?php
  • //echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
  • $sUrl = $_SERVER['SERVER_NAME'];
  • if ($sUrl!=="doufu.ru" || $sUrl!=="103.242.133.42") {
  • header("http/1.1 403 Forbidden")
  • }
  • endif;
  • ?>
复制