有时候我们网站为了避免权重丢失以及恶意网站,可以使用go.php?url=的方式进行跳转外链,这确实是一个不错的功能。所以有些朋友就想实现这个功能,对于懂后端代码的这很简单,但是对于小白就是有点困难。其实实现跳转功能也还蛮简单的,这里简单分享下这个部署方法。
有些插件也能实现这个外链跳转
设置简单,只需要要后台设置好后缀和目标页面即可
跳转链接的基础地址可以随意设置
网站根目录创建go.php,写入:
functionlink_jump($content){//Getthehostofthecurrentsite$host=parse_url(home_url(),PHP_URL_HOST);//Findalllinksinthecontentpreg_match_all('/',$redirect_link,$text);$content=str_replace($match[0],$new_link,$content);}}return$content;}add_filter('the_content','link_jump',999);
此代码与网络原始代码相比,添加了以下特性:
使用$host变量动态获得当前站点的主机名,这意味着您不再需要在代码中硬编码站点URL。
我们从正则表达式中删除了不必要的定位符,使其更加简洁。
在循环中,我们添加了将外部链接转换为重定向站内链接的步骤。
改善了$matches数组中元素的名称,使其更具可读性。
这样做可以提高您的代码质量,并减少代码的冗余。
网络分享的functions.php文件添加原代码:
rewrite^/go/(.*)$/go.php?url=$1last; #注意go.php的实际路径,默认为网站根目录 以上代码增加了跳转美化效果,代码中已经用base64将源链接加密,并且加上了nofollow,但恐怕蜘蛛还是能爬行,在Robots禁止所有蜘蛛爬行/go?url目录。 本文地址:https://www.uel.cc/article/afb2c8e62fa07035d123.html/*文章外链跳转伪静态版此为新窗口打开,如不想要直接删除下面的target='-blank'*/add_filter('the_content','link_jump',999);functionlink_jump($content){preg_match_all('//',$content,$matches);if($matches){foreach($matches[2]as$val){if(strpos($val,'://')!==false&&strpos($val,home_url())===false&&!preg_match('/\.(jpg|jepg|png|ico|bmp|gif|tiff)/i',$val)&&!preg_match('/(ed2k|thunder|Flashget|flashget|qqdl):\/\//i',$val)){$content=str_replace("href=\"$val\"","href=\"".home_url()."/go.php?".base64_encode($val)."\"rel=\"nofollow\"target='_blank'",$content);}}}return$content;}
相关标签:
go跳转、 网站优化、