WordPress将网站内评论者链接的外链转为内链并用base64加密 GET方式跳转



这个方法一方面把评论者链接进行了加密,另一个方面转为内链进行跳转。采用的是利用wp内在的钩子实现的。需要用到两个钩子:

get_comment_author_link
init

具体方法

对评论者链接重新定义,加密并且添加nofollow

// 重定义评论者链接-加密并添加nofollow
function redefine_comment_author_link() {
    $encodeurl = get_comment_author_url( $comment_ID );
    $url = get_option('home').'/mi?url=' . base64_encode($encodeurl);//mi?url 自己修改,下面对应修改$_GET['url']中的url
    $author = get_comment_author( $comment_ID );
    if ( empty( $encodeurl ) || 'https://' == $encodeurl )
        return $author;
    else
        return "<a href='$url' rel='external nofollow' class='url'>$author</a>";
}
add_filter('get_comment_author_link', 'redefine_comment_author_link');

解码上面用base64加密的评论用户外链实施跳转

function redirect_comment_link(){ // 重定向评论者链接
    $redirect = base64_decode($_GET['url']); // 解密GET获得的加密链接部分
    if($redirect){
        if(strpos($_SERVER['HTTP_REFERER'],get_option('home')) !== false){
        header("Location: $redirect");
        exit;
        } else {
        header("Location: https://jianzhanmi.com/");//修改成你自己的地址
        exit;
        }
    }
}
add_action('init', 'redirect_comment_link');

最后别忘了修改一下robots.txt,添加 Disallow: /mi?* ,到此已经全部完工。


<< WordPress 预定义常量一览表 WordPress将网站内的外链转为内链并用base64加密 >>
工作中
  • 作者 建站迷

    建站迷

    让天下没有难做的网站!
    解决中小型企业的无站之伤。



没有账号? 忘记密码?

社交账号快速登录