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

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

图就借用小楼昨夜的:

 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;
?>