信科网络 · 11 年只做 WordPress | 建站 / 主题 / 插件 / 商城 / 迁移 / 托管 | 累计服务 3000+ 企业 | 源码全交付
服务热线:13280692153 邮箱:web@wordpressx.com
工作日 08:30-18:0013280692153 免费诊断
首页/WordPress 教程/WordPress如何将外链转内链?文章外链自动转成内链代码
BLOG

WordPress如何将外链转内链?文章外链自动转成内链代码

分类 发布 2022-11-03

1 外链转成内链优势

  • 2 第 1 步:上传文件到网站根目录
    • 2.1 PHP版本
    • 2.2 JS版本
    • 2.3 PHP和JS哪个好?
  • 3 第 2 步:添加代码到 function.php 文件
    • 3.1 外链跳转无加密
    • 3.2 外链跳转base64加密【推荐】
  • 4 robots.txt屏蔽蜘蛛

 

WordPress如何将外链转内链?

文章外链自动转成内链代码

有时候我们因为做谷歌SEO排名,在WordPress网站分享一些被中国网络封锁的海外网站或论坛,这样的链接有被墙风险。

innity_adZoneAsync.q.push(function(){innity_adZoneAsync.display(“ee389847678a3a9d1ce9e4ca69200d06″,”96572”,{“target”:”div-ad-innity-96572/0″,”origin”:”MY”});});

所以,我们要将文章中某些外链自动转换成内链。

外链转成内链优势

  • 安全强化:增强对恶意请求的简单保护;
  • 跳转模式:使用noscript标签来增加html js跳转模式;
  • 跳转加密:Base64加密的外部链,兼容非加密跳转;
  • 禁止收录:添加了禁止搜索引擎蜘蛛收录和捕获的META声明;
  • 禁止使用:禁止其他网站使用我们的跳转页面。

第 1 步:上传文件到网站根目录

WordPress文章外链自动转成内链的代码,有2个版本:

  1. PHP版本
  2. JS版本

PHP版本

将以下 PHP 代码保存为 go.php 并上传到网站根目录。

<?
php
if(strlen($_SERVER['REQUEST_URI']) > 255 ||
 strpos($_SERVER['REQUEST_URI'], "eval(") ||
 strpos($_SERVER['REQUEST_URI'], "base64")) {
 @header("HTTP/1.1 414 Request-URI Too Long");
 @header("Status: 414 Request-URI Too Long");
 @header("Connection: Close");
 @exit;
}
//通过QUERY_STRING取得完整的传入数据,然后取得url=之后的所有值,兼容性更好
$t_url = preg_replace('/^url=(.*)$/i','$1',$_SERVER["QUERY_STRING"]);
//此处可以自定义一些特别的外链,不需要可以删除以下5行
if($t_url=="chenweiliang" ) {
 $t_url="https://www.wordpressx.com/";
} elseif($t_url=="etufo") {
 $t_url="https://www.etufo.org/";
}
//数据处理
if(!empty($t_url)) {
 //判断取值是否加密
 if ($t_url == base64_encode(base64_decode($t_url))) {
 $t_url = base64_decode($t_url);
 }
 //对取值进行网址校验和判断
 preg_match('/^(http|https|thunder|qqdl|ed2k|Flashget|qbrowser):///i',$t_url,$matches);
 if($matches){
 $url=$t_url;
 $title='页面加载中,请稍候...';
 } else {
 preg_match('/./i',$t_url,$matche);
 if($matche){
 $url='http://'.$t_url;
 $title='页面加载中,请稍候...';
 } else {
 $url = 'http://'.$_SERVER['HTTP_HOST'];
 $title='参数错误,正在返回首页...';
 }
 }
} else {
 $title = '参数缺失,正在返回首页...';
 $url = 'http://'.$_SERVER['HTTP_HOST'];
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="robots" content="noindex, nofollow" />
<noscript><meta http-equiv="refresh" content="1;url='<?php echo $url;?>';"></noscript>
<script>
function link_jump()
{
 //禁止其他网站使用我们的跳转页面
 var MyHOST = new RegExp("<?php echo $_SERVER['HTTP_HOST']; ?>");
 if (!MyHOST.test(document.referrer)) {
 location.href="http://" + MyHOST;
 }
 location.href="<?php echo $url;?>";
}
//延时1S跳转,可自行修改延时时间
setTimeout(link_jump, 1000);
//延时50S关闭跳转页面,用于文件下载后不会关闭跳转页的问题
setTimeout(function(){window.opener=null;window.close();}, 50000);
</script>
<title><?php echo $title;?></title>
<style type="text/css">
body{background:#555}.loading{-webkit-animation:fadein 2s;-moz-animation:fadein 2s;-o-animation:fadein 2s;animation:fadein 2s}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-o-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}.spinner-wrapper{position:absolute;top:0;left:0;z-index:300;height:100%;min-width:100%;min-height:100%;background:rgba(255,255,255,0.93)}.spinner-text{position:absolute;top:45%;left:50%;margin-left:-100px;margin-top:2px;color:#000;letter-spacing:1px;font-size:20px;font-family:Arial}.spinner{position:absolute;top:45%;left:50%;display:block;margin-left:-160px;width:1px;height:1px;border:20px solid rgba(255,0,0,1);-webkit-border-radius:50px;-moz-border-radius:50px;border-radius:50px;border-left-color:transparent;border-right-color:transparent;-webkit-animation:spin 1.5s infinite;-moz-animation:spin 1.5s infinite;animation:spin 1.5s infinite}@-webkit-keyframes spin{0%,100%{-webkit-transform:rotate(0deg) scale(1)}50%{-webkit-transform:rotate(720deg) scale(0.6)}}@-moz-keyframes spin{0%,100%{-moz-transform:rotate(0deg) scale(1)}50%{-moz-transform:rotate(720deg) scale(0.6)}}@-o-keyframes spin{0%,100%{-o-transform:rotate(0deg) scale(1)}50%{-o-transform:rotate(720deg) scale(0.6)}}@keyframes spin{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(720deg) scale(0.6)}}
</style>
</head>
<body>
<div class="loading">
 <div class="spinner-wrapper">
 <span class="spinner-text">页面加载中,请稍候...</span>
 <span class="spinner"></span>
 </div>
</div>
</body>
</html>

JS版本

将以下 JS 代码保存为 go.html 并上传到网站根目录。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="robots" content="noindex, nofollow" />
<script>
//base64加密解密函数
var base64EncodeChars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var base64DecodeChars=new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);function base64encode(str){var out,i,len;var c1,c2,c3;len=str.length;i=0;out="";while(i<len){c1=str.charCodeAt(i++)&255;if(i==len){out+=base64EncodeChars.charAt(c1>>2);out+=base64EncodeChars.charAt((c1&3)<<4);out+="==";break}c2=str.charCodeAt(i++);if(i==len){out+=base64EncodeChars.charAt(c1>>2);out+=base64EncodeChars.charAt(((c1&3)<<4)|((c2&240)>>4));out+=base64EncodeChars.charAt((c2&15)<<2);out+="=";break}c3=str.charCodeAt(i++);out+=base64EncodeChars.charAt(c1>>2);out+=base64EncodeChars.charAt(((c1&3)<<4)|((c2&240)>>4));out+=base64EncodeChars.charAt(((c2&15)<<2)|((c3&192)>>6));out+=base64EncodeChars.charAt(c3&63)}return out}function base64decode(str){var c1,c2,c3,c4;var i,len,out;len=str.length;i=0;out="";while(i<len){do{c1=base64DecodeChars[str.charCodeAt(i++)&255]}while(i<len&&c1==-1);if(c1==-1){break}do{c2=base64DecodeChars[str.charCodeAt(i++)&255]}while(i<len&&c2==-1);if(c2==-1){break}out+=String.fromCharCode((c1<<2)|((c2&48)>>4));do{c3=str.charCodeAt(i++)&255;if(c3==61){return out}c3=base64DecodeChars[c3]}while(i<len&&c3==-1);if(c3==-1){break}out+=String.fromCharCode(((c2&15)<<4)|((c3&60)>>2));do{c4=str.charCodeAt(i++)&255;if(c4==61){return out}c4=base64DecodeChars[c4]}while(i<len&&c4==-1);if(c4==-1){break}out+=String.fromCharCode(((c3&3)<<6)|c4)}return out}function utf16to8(str){var out,i,len,c;out="";len=str.length;for(i=0;i<len;i++){c=str.charCodeAt(i);if((c>=1)&&(c<=127)){out+=str.charAt(i)}else{if(c>2047){out+=String.fromCharCode(224|((c>>12)&15));out+=String.fromCharCode(128|((c>>6)&63));out+=String.fromCharCode(128|((c>>0)&63))}else{out+=String.fromCharCode(192|((c>>6)&31));out+=String.fromCharCode(128|((c>>0)&63))}}}return out}function utf8to16(str){var out,i,len,c;var char2,char3;out="";len=str.length;i=0;while(i<len){c=str.charCodeAt(i++);switch(c>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:out+=str.charAt(i-1);break;case 12:case 13:char2=str.charCodeAt(i++);out+=String.fromCharCode(((c&31)<<6)|(char2&63));break;case 14:char2=str.charCodeAt(i++);char3=str.charCodeAt(i++);out+=String.fromCharCode(((c&15)<<12)|((char2&63)<<6)|((char3&63)<<0));break}}return out}function doit(){var f=document.f;f.output.value=base64encode(utf16to8(f.source.value));f.decode.value=utf8to16(base64decode(f.output.value))};
//获取请求参数,支持伪静态
function GetQueryString(name)
{
 var reg = new RegExp("(^|&)"+ name +"=(.*)$");
 var r = window.location.search.substr(1).match(reg);
 if(r!=null) {
 return unescape(r[2]);
 } else {
 return window.location.pathname.replace('/go/',''); //注意代码中的/goto/和跳转地址/goto/保持一致,请记得自行修改!
 }
}
var jump_url = GetQueryString("url");
//若传入的是base加密数据,则进行解密处理
if( jump_url==base64encode(base64decode(jump_url))) {
 jump_url = base64decode(jump_url);
}
//url简单正则
var UrlReg = "^((http|https|thunder|qqdl|ed2k|Flashget|qbrowser|ftp|rtsp|mms)://)";
//自定义一些跳转字符串,请根据实际需求自行发挥
if(jump_url=="chenweiliang") {
 var jump_url="https://www.wordpressx.com/";
}
if(jump_url=="etufo") {
 var jump_url="https://www.etufo.org/";
}
//网址校验
if(jump_url == null || jump_url.toString().length<1 || !jump_url.match(UrlReg)) {
 document.title = '参数错误,正在返回首页...';
 jump_url = location.origin;
}
//延时执行跳转
setTimeout(
function link_jump()
{
//非本站域名不允许使用此跳转页面,请自行修改wordpressx.com为自己的域名
 var MyHOST = new RegExp("wordpressx.com");
 if (!MyHOST.test(document.referrer)) {
 location.href = "http://" + MyHOST;
 return;
 }
 location.href = jump_url;
}, 1000);
setTimeout(function(){window.opener=null;window.close();}, 50000);
</script>
<title>页面加载中,请稍候...</title>
<style type="text/css">
body{background:#555}.loading{-webkit-animation:fadein 2s;-moz-animation:fadein 2s;-o-animation:fadein 2s;animation:fadein 2s}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-o-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}.spinner-wrapper{position:absolute;top:0;left:0;z-index:300;height:100%;min-width:100%;min-height:100%;background:rgba(255,255,255,0.93)}.spinner-text{position:absolute;top:45%;left:50%;margin-left:-100px;margin-top:2px;color:#000;letter-spacing:1px;font-size:20px;font-family:Arial}.spinner{position:absolute;top:45%;left:50%;display:block;margin-left:-160px;width:1px;height:1px;border:20px solid rgba(255,0,0,1);-webkit-border-radius:50px;-moz-border-radius:50px;border-radius:50px;border-left-color:transparent;border-right-color:transparent;-webkit-animation:spin 1.5s infinite;-moz-animation:spin 1.5s infinite;animation:spin 1.5s infinite}@-webkit-keyframes spin{0%,100%{-webkit-transform:rotate(0deg) scale(1)}50%{-webkit-transform:rotate(720deg) scale(0.6)}}@-moz-keyframes spin{0%,100%{-moz-transform:rotate(0deg) scale(1)}50%{-moz-transform:rotate(720deg) scale(0.6)}}@-o-keyframes spin{0%,100%{-o-transform:rotate(0deg) scale(1)}50%{-o-transform:rotate(720deg) scale(0.6)}}@keyframes spin{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(720deg) scale(0.6)}}
</style>
</head>
<body>
<div class="loading">
 <div class="spinner-wrapper">
 <span class="spinner-text">页面加载中,请稍候...</span>
 <span class="spinner"></span>
 </div>
</div>
</body>
</html>

请注意修改://非本站域名不允许使用此跳转页面,请自行修改wordpressx.com为自己的域名

innity_adZoneAsync.q.push(function(){innity_adZoneAsync.display(“ee389847678a3a9d1ce9e4ca69200d06″,”96574”,{“target”:”div-ad-innity-96574/0″,”origin”:”MY”});});

PHP和JS哪个好?

PHP 版本和 JS 版本的功能是一样的,区别在于:

  • PHP版本是动态的,略有服务器负载产生;
  • 而JS版本要求浏览器支持JS才能正常工作,
  • 但是现在,大多数浏览器都支持它!

注意:如果测试JS版本的跳转代码无效,就用PHP的跳转代码。

第 2 步:添加代码到 function.php 文件

上传跳转页面后,接着就是将外链跳转代码,添加到WordPress主题的 function.php 文件里。

article_with_pictures_plugin_1246_permanent_7f2e54494e48f3f75323aee313c93b09.webp

2 选 1 代码:

  • 1)外链跳转无加密
  • 2)外链跳转base64加密【推荐】

外链跳转无加密

// 外链跳转无加密go.html?url
add_filter('the_content','link_to_jump',999);
 function link_to_jump($content){
 preg_match_all('/<a(.*?)href="(.*?)"(.*?)>/',$content,$matches);
 if($matches){
 foreach($matches[2] as $val){
 if(strpos($val,'://')!==false && strpos($val,home_url())===false && strpos($val,'wordpressx.com')===false && strpos($val,'ufo.org.in')===false && strpos($val,'etufo.org')===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"", "rel="nofollow" target="_blank" href="go.html?url=$val" ",$content);

}
 }
 }
 return $content;
 }

外链跳转base64加密【推荐】

// 外链跳转base64加密go.html?url
 add_filter('the_content','link_to_jump',999);
 function link_to_jump($content){
 preg_match_all('/<a(.*?)href="(.*?)"(.*?)>/',$content,$matches);
 if($matches){
 foreach($matches[2] as $val){
 if(strpos($val,'://')!==false && strpos($val,home_url())===false && strpos($val,'wordpressx.com')===false && strpos($val,'ufo.org.in')===false && strpos($val,'etufo.org')===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"", "rel="nofollow" target="_blank" href="go.html?url=" .base64_encode($val). "" ",$content);

}
 }
 }
 return $content;
 }

排除指定某个外链域名不自动转成内链(域名白名单):

&& strpos($val,'你的域名')===false

robots.txt屏蔽蜘蛛

为了避免搜索引擎蜘蛛抓取到跳转链接,我们可以 robots.txt 文件里,添加禁止搜索引擎蜘蛛抓取的规则:

User-agent: *
Disallow: /go.html?url=*
Disallow: /go.php?url=*

本文未完,请继续看“扩展阅读”

扩展阅读:

  • WordPress评论者链接如何在新窗口打开跳转?评论外链自动转内链代码

希望我们网站( https://www.wordpressx.com/ ) 分享的《WordPress如何将外链转内链?文章外链自动转成内链代码》,对您有帮助。

TAGS wordpress
INDUSTRIAL BELT

扎根中国制造产业带
懂工厂,才懂出海

从胶东半岛到珠三角,从长三角到中原腹地,每一片产业集群都有自己的出口节奏与买家画像。信科网络长期扎根产业一线,把工厂的产品语言翻译成海外采购商听得懂的搜索语言,让每一分投入都对着真实的询盘去。

wushan

巫山外贸网站建设

巫山位于重庆市东北部,三峡库区腹心,素有“渝东门户”之称,地跨长江巫峡两岸。东邻湖北省巴东县,西接奉节县,南与湖北省建始县毗连,北与巫溪县及神农架林区接壤。县城位于大宁河与长江交汇…

wanzhou

万州外贸网站建设

重庆市万州区地处三峡库区腹心,长江中上游结合部,因“万川毕汇、万商云集”而得名,是长江十大港口之一。全区幅员面积3457平方公里,辖52个镇乡、街道。总人口171.7万,在重庆40个区县中人口最…

anxin

安新外贸建站

安新县位于河北省中部,县境东与雄县、任丘相连;南与高阳接壤;西与清苑、徐水交界;北与容城毗邻。总面积738.6平方公里。县人民政府所在地安新镇是安新县政治、经济、文化和交通中心,北距…

helan

贺兰外贸建站

 贺兰县位于中国黄土高原西北内陆,宁夏回族自治区北部,属大陆性气候,中温带干旱气候区。土地总面积按1987年土地调查为1254.6平方公里。旅游资源丰富,历史积淀深厚。粮食作物以小麦、…

tongnan

潼南WordPress建站

潼南县位于重庆市西北部最前沿。是川渝握手区腹地东西南北交通自然便捷走向的交汇点及区域几何中心,是成渝经济区的腹地中心,是重庆西部凸入川中腹地最远、毗邻四川县市最多的对外开放最前沿…

yuanzhou

原州WordPress建站

原州区,隶属于宁夏回族自治区固原市,地处宁夏南部,六盘山东北麓,黄土高原中西部,东邻彭阳县,南接泾源县,西连西吉县,北靠海原县、同心县,东北、西南分别与甘肃环县、隆德县毗壤,是固…

beidaihe

北戴河Shopify建站

北戴河海滨地处河北省秦皇岛市中心的西部。是秦皇岛的城市区之一!受海洋气候的影响,夏无酷暑,冬无严寒,常年保持一级大气质量,没有污染,没有噪音,城市森林覆盖率54%,人均绿地630平方米…

jiangbei

江北Shopify建站

江北区,隶属于重庆市,是主城核心区之一。位于长江、嘉陵江交汇处北岸,东南西三面分别与巴南、南岸、渝中、沙坪坝四区隔江相望,北与渝北区接壤。至2015年底,江北区幅员面积为220.77平方千…

nanan

南岸外贸推广

南岸区,是重庆都市区(重庆主城区),重庆大都市区,地处重庆市西南部。南岸区是以城市为主的都市工业区、中央商务区、国际会展区、风景旅游区。南岸区东部、南部接巴南区,西濒九龙坡区、渝…

jizhou

冀州外贸推广

冀州市隶属河北省衡水市,地处华北平原腹地,北距首都300公里,西距省会石家庄110公里,辖区总面积918平方公里,东与枣强县(衡水)为邻,南与南宫市、新河县(邢台)接壤,西与宁晋县(邢台)…

wuxi

巫溪Google SEO

巫溪县地处大巴山东段南麓的渝、陕、鄂三省(市)结合部分,东接湖北省神农架林区、竹溪县,南临重庆市奉节、巫山两县,西与重庆开县、云阳接壤,北连重庆城口县和陕西省镇坪县。  

jiangjin

江津Google SEO

重庆市江津区,是一个历史文化悠久的城市,以地处长江要津而得名。江津位于重庆西南长江之滨,距渝中区公路里程50公里;铁路里程65公里;水路里程72公里。江津城区气候特征与重庆相近,但综合…

fuling

涪陵GEO优化

重庆市涪陵区,邑枕长、乌两江,素为乌江流域物资集散地,有渝东南门户之称,是闻名遐迩的中国“榨菜之乡”。全区幅员面积2946平方公里,辖1个经济技术开发区、1个私营经济示范区和44个乡镇、街…

rongcheng

容城GEO优化

河北省容城县,历史悠久,距今已有2000年的历史,全县总面积314平方公里,总人口25万人。地理位置得天独厚。位于河北省中部,京、津、保腹地,距首都北京和天津直辖市均为120公里,两个小时的…

fengjie

奉节谷歌SEM

奉节县位于重庆市东部,地处四川盆地东端,地理坐标为东经109°1′17″—109°45′58″,北纬30°29′19″—31°22′33″。县境东邻巫山县,南界湖北省恩施土家族苗族自治州,西连云阳县,北接巫溪县。境内有…

fucheng

阜城谷歌SEM

阜城县是河北省衡水市下辖的一个县。面积698平方千米,人口32万。邮政编码053700。阜城县人文荟萃.历史上出现过不少的学者名流,北齐的刘昼,北周的熊安生,民国初期的京剧著名表演艺术家荀慧生,…

hengshui

衡水Facebook广告

衡水市位于河北省东南部,东与沧州市和山东省德州市毗邻,西与石家庄市接壤,南与邢台市相连,北与保定市交界;南北长125.5公里,东西宽98.13公里,全市辖8县2市1区,总面积5815.4平方公里。衡…

banan

巴南Facebook广告

巴南区的前身是千年历史名邑巴县。早在3000多年前的商代,巴人就在此繁衍生息,立国建都。秦代置巴郡,南朝齐代置垫江县,北周时改称巴县并沿袭至1995年。1995年经国务院批准撤县建区,成立巴…

jingxian

景县Yandex推广

景县位于河北省东南部,大运河西岸,全县辖9镇7乡,849个行政村,总面积1183平方公里。全县呈簸箕形,由西南向东北逐渐倾斜坦,最高点海拔25米,最低点14.1米。属暖温带半湿润大陆性气候,四季…

kaizhou

开州Yandex推广

开州区隶属于重庆市,位于重庆市东北部,三峡库区小江支流回水末端,介于北纬30°49′30″-31°41′30″、东经107°55′48″-108°54′之间,西邻四川省开江县,北依大巴山接城口县和四川省宣汉县,东毗云…

qingtongxia

青铜峡TikTok推广

青铜峡市位于黄河上游宁夏平原中部,地势平坦,牛首、峡口两山对峙,黄河穿峡而过,山光水色相映,宛如开然铜镜,“青铜峡”由此而得名。地处西北内陆,东部季风区与西部干旱区域的交汇地带,属…

为什么一定要选懂产业带的出海服务商?建材丝网的欧洲建筑商看资质与交期,工业橡塑的中东工程商问耐温与工况,毛皮服饰的俄罗斯分销商算的是季节与毛利。买家不同,决策逻辑就不同;信科网络把这些差异拆进网站结构、关键词地图和投放策略里,用他们习惯的方式出现在他们搜索的地方。