wordpress如何更换域名

问题描述

在群里面看到很多朋友问,已经上线的网站要更换域名怎么办?后台的设置->常规里修改域名后,全站打不开了,这是为什么?出现这种情况后如何解决?

问题解答

其实wordpress换域名需要到数据库进行操作的,首先,来分析一下换域名的几种常见情况;

 

一、换空间换域名

1、如果是上述问题,打包备份旧空间ftp内的所有文件,进旧站数据库phpmyadmin里导出你网站的数据库sql文件;

2、将备份的ftp所有文件上传至新的空间FTP内,将备份的sql上传到新空间的数据库phpmyadmin内;

3、打开新空间ftp的网站根目录找到wp-config.php文件,编辑它(php文件不要用txt去编辑),进行编辑配置新的数据库连接信息;

4、去新的空间的数据库phpmyadmin里,做sql批量换域名处理(详见下面教程二)

 

二、仅换域名,没有换空间

打开新空间的phpmyadmin(数据库控制面板)

然后选择新的数据库名,点击后,进入wp_开头的大于等于11个的表,然后选择选项卡里的sql,如图:

然后就是进行sql批量处理的命令了:

 

UPDATE wp_options SET option_value = replace( option_value, 'http://www.old.com', 'http://www.new.com' ) WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET post_content = replace( post_content, 'http://www.old.com', 'http://www.new.com' ) ;
UPDATE wp_posts SET guid = replace( guid, 'http://www.old.com', 'http://www.new.com' ) ;

 

old代表旧域名、new代表新域名,将上面的执行语句修改为你们自己的,然后点击执行即可!

到这一步,就基本全OK了。。。当然换域名的途中也会遇到各种问题,出现问题了可以回帖或者加入我们的技术群群求帮助哈!

 

2017/12/26更新:一键更新域名插件

该插件的使用,建议没有代码经验或者连phpmyadmin是什么都不知道的小白用户,用起来超爽的!

{GO}  点击下载该插件,上传插件,启动插件,去工具-更换域名内进行设置

全部设置后,提示更换成功后,切勿以为一切已经结束,还需要到WP后台-设置-常规里 将WordPress地址和站点地址换成您的新域名网址即可!!

Emmet 语法

首先,什么是 Emmet?官方给出了以下的解释:

Emmet uses syntax similar to CSS selectors for describing elements’ positions inside generated tree and elements’ attributes.

翻译过来就是:你可以使用类似于 CSS 选择器的语法来描述生成的树和元素属性中的元素位置。

那么什么是元素呢?元素指的就是我们的 div、p 标签等等。我们可以直接使用 p 加上 Tab 键就可以快速生成 <p></p>,这是极其方便的,现在的 IDE 好像都支持它。

嵌套运算符(Nesting Operator)

嵌套运算符用于在生成的树内定位缩写元素:它是否应该放置在上下文元素内部或附近。

(1)子代操作符(Child):>

就像我们使用 CSS 选择器那样,我们可以使用 > 操作符来创建我们的子代。

当我在编辑器中使用这个操作符进行如下代码的创建:

div>div>p

它的意思就是 div 下有一个子代的 div,紧接着在此子代中又有一个 p 标签。

结果如下:

 

 

很简单,而且很方便吧?


(2)兄弟操作符(Sibling):+

上面我们讲到了,创建子代的方法。但是现在,我们希望子代中的 div 不再包含 p 标签,而是与它成为同一级,都是父级 div 的子代。

那么我们就可以使用以下代码:

div>div+p

结果如下:

如此,它们就成为了同级的元素。


(3)返回上级操作符(Climb-up):^

我们在上面的代码中,创建的结果大家都看到了。那么这时候,我想要在父级元素的 div 的同级再创建一个 div 怎么办呢?如果直接使用上面的兄弟操作符,结果就成了这样:

div>div+p+div

结果如下:

 

很显然,这不是我们想要的结果。这时候,我们就需要用到返回上级选择器了。

代码如下:

div>div+p^div

结果如下:

 

 

不错,达到了我们想要的目标。但是遇到更复杂的场景呢?一层层的嵌套后,这时候要怎么才能返回到最初的父级元素呢?

这时候我们就可以多次的使用这个操作符。
例如如下代码:

div>div>div>p^^^div

这时,我们使用了 3 次 ^ 操作符使其返回到了最初的父级 div 元素上,我们来看看结果吧:

 

没错了,完美!


(4)乘法操作符(Multiplication):*

我们知道,用到重复元素最多的地方要数 ul 中的 li 了。一个一个复制,这显然是很麻烦而又枯燥的一件事情。

这时,我们可以使用乘法来解决它。比如我们这时需要 5 个 li。一个个复制太累啦,我们简单的一点代码就搞定它:

ul>li*5

结果如下:

 

很好理解吧。


(5)分组操作符(Grouping):()

这个分组是什么意思呢?很好理解,比如我们在创建一个页面结构,如果一个一个往下这么写,最后再使用 ^ 一层一层的返回上去,恐怕数数都要数晕了吧。

那么使用这个分组就轻松的解决了问题,来,我们来个布局吧。

(header>h1+div>p)+(main>p)+(footer>ul>li*3)

我不知道这个 Emmet 语法是否有点困难?但是我们可以试着分析下,就很清楚,我们将其分为了 header、main 和 footer 三个页面结构。

结果如下:

 

相信你应该是正确的。

另外,我们上面还有使用 ^ 操作符来进行返回上一级的元素,但是元素多了不就很难受了吗,这时候我们就可以使用分组,将其分为一个个的部分,省去了大量的思考。

比如:

div>(header>ul>li*2>a)+footer>p

结果如下:

采用分组,我们就可以不用在代码中的 a 标签处使用很多的 ^ 操作符去一级一级地返回啦。明白了吗?


属性操作符(Attribute Operators)

属性运算符用于修改输出元素的属性。

(1)ID 和 Class(ID and CLASS)

想必在我们写代码的时候,不可能没有这两个属性吧?在 Emmet 语法中,我们可以快速生成它们。

例如下列代码:

div#header>p.news*3

这样我们就快速的创建了它们,还是使用我们最熟的 # 和 . 来写。

结果如下:

我知道,这时候你会问,如果我们的 Class 属性不止一个呢?怎么办啊!

没关系,我们使用并列书写的原则就可以啦。

div#wrapper>div.news.news-tip.+div.news.news-content

结果如下:


(2)定制属性(Custom attributes)

定制的属性,我们就不可以使用简单的写法啦,这时候,我们就需要使用中括号[] 来将其括起来。

比如我们的 a 标签,它默认只有 href 属性,如果我们还需要别的呢:

a[target='' title='hello world']*3

结果如下:

 

这样,我们就给其添加了别的属性了。


(3)数值计算操作符(Item numbering):$

我们有时候在给 class 添加它的属性时,我们希望它是按照一定的数字进行排列,那么我们就可以使用这个操作符。

比如:

div>ul>li.item-$*3

结果如下:

如果你想倒着写数值的话呢,可以在 $ 操作符后面再加上 @-,也就是这样:

div>ul>li.item-$@-*3

结果如下:

 

不过这种情况我们很少会遇到。

最后还有一种情况,那就是你想指定数字是从几开始,那么你需要在 $ 后面加上 @N,这里的 N 为开始的数值。

div>ul>li.item-$@3*3

结果如下:


(4)文本操作符(Text):{}

我们可以使用大括号 {} 来对其输入一定的内容。这个操作符就很简单啦。

div#news>p{Hello,World!}

结果就是这样啦:

 

这个不难,就不再多举例了。当然你也可以连着别的标签写。

p{What's your name?}+p{My name is Alice}

结果如下:


总结

以上就是 Emmet 写法的全部内容了。当然了,还有 CSS 相关的几个写法,我觉得没必要讲了,那都是对浏览器前缀的写法,现在的现代浏览器都已经不再需要使用前缀来识别属性了。

本文转载于:https://www.jianshu.com/p/9e2f55776bc0

电影《了凡四训》

国语电影版《了凡四训》,本片由陈晓旭女士创立的世邦公司2001年所投资拍摄, 根据明代袁了凡先生的真实传奇故事改编,并邀请著名导演黄蜀芹的儿子郑大圣执导,由著名演员达式常担当主演,是一部带有佛教性质的中华传统道德教典。 电影《了凡四训》,原型是种德立命、修身治世类同名教育书籍《了凡四训》。书籍作者为明代袁黄,字坤仪,后改名了凡,作于六十九岁,全文分四个部分,作者以自己的亲身经历,讲述了改变命运的过程。原本为教训自己

一段JS代码可以实现网站的简体/繁體相互转换

以前用过主机商提供类似于“简繁通”之类的产品,当然,是需要收费的。(呵呵,给我当然免费。)觉得转换速度好像不怎么样。今天发现一个新的东东:一段JS代码可以实现网站的简体/繁體相互转换,由JS进行转换。本地测试了一下。速度不错。而且效果也很好。现在说明步骤与方法。
1、JS转换文件:

 

var defaultEncoding = 2; // 1: 繁體中文, 2: 简体中文
var translateDelay = 0;
var cookieDomain = “http://log.zhoz.com/”; //更改为你的博客网址
var msgToTraditionalChinese = “繁體”; //此处可以更改为你想要显示的文字
var msgToSimplifiedChinese = “简体”;  //同上,但两处均不建议更改
var translateButtonId = “translateLink”;

var currentEncoding = defaultEncoding;
var targetEncodingCookie = “targetEncoding” + cookieDomain.replace(/\./g,””);
var targetEncoding = ( getCookie(targetEncodingCookie) == null ? defaultEncoding : getCookie(targetEncodingCookie) );
var translateButtonObject;

function translateText( txt )
{
if( txt == “” || txt == null )
return “”;
if( currentEncoding == 1 && targetEncoding == 2 )
return Simplized(txt);
else if ( currentEncoding == 2 && targetEncoding == 1 )
return Traditionalized(txt);
else
return txt;
}

function translateBody( fobj )
{
if( typeof( fobj ) == “object” )
var objs = fobj.childNodes;
else
var objs = document.body.childNodes;

for(var i=0;i<objs.length;i++)
{
var obj=objs.item(i);
if( “||BR|HR|TEXTAREA|”.indexOf( “|”+obj.tagName+”|” ) > 0 || obj == translateButtonObject )
continue;
if( obj.title != “” && obj.title != null )
obj.title = translateText( obj.title );
if( obj.alt != “” && obj.alt != null )
obj.alt = translateText( obj.alt );
if( obj.tagName == “INPUT” && obj.value != “” && obj.type != “text” && obj.type != “hidden” )
obj.value = translateText( obj.value );
if( obj.nodeType == 3 )
obj.data = translateText( obj.data );
else
translateBody(obj);
}
}

function translatePage()
{
if( targetEncoding == 1 )
{
currentEncoding  = 1;
targetEncoding = 2;
translateButtonObject.innerHTML = msgToTraditionalChinese;
setCookie( targetEncodingCookie, targetEncoding, 7 );
translateBody();
}
else if( targetEncoding == 2 )
{
currentEncoding  = 2;
targetEncoding = 1;
translateButtonObject.innerHTML = msgToSimplifiedChinese;
setCookie( targetEncodingCookie, targetEncoding, 7 );
translateBody();
}
}

function JTPYStr()
{
return ‘万与丑专业丛东丝丢两严丧个丬丰临为丽举么义乌乐乔习乡书买乱争于亏云亘亚产亩亲亵亸亿仅从仑仓仪们价众优伙会伛伞伟传伤伥伦伧伪伫体余佣佥侠侣侥侦侧侨侩侪侬俣俦俨俩俪俭债倾偬偻偾偿傥傧储傩儿兑兖党兰关兴兹养兽冁内冈册写军农冢冯冲决况冻净凄凉凌减凑凛几凤凫凭凯击凼凿刍划刘则刚创删别刬刭刽刿剀剂剐剑剥剧劝办务劢动励劲劳势勋勐勚匀匦匮区医华协单卖卢卤卧卫却卺厂厅历厉压厌厍厕厢厣厦厨厩厮县参叆叇双发变叙叠叶号叹叽吁后吓吕吗吣吨听启吴呒呓呕呖呗员呙呛呜咏咔咙咛咝咤咴咸哌响哑哒哓哔哕哗哙哜哝哟唛唝唠唡唢唣唤唿啧啬啭啮啰啴啸喷喽喾嗫呵嗳嘘嘤嘱噜噼嚣嚯团园囱围囵国图圆圣圹场坂坏块坚坛坜坝坞坟坠垄垅垆垒垦垧垩垫垭垯垱垲垴埘埙埚埝埯堑堕塆墙壮声壳壶壸处备复够头夸夹夺奁奂奋奖奥妆妇妈妩妪妫姗姜娄娅娆娇娈娱娲娴婳婴婵婶媪嫒嫔嫱嬷孙学孪宁宝实宠审宪宫宽宾寝对寻导寿将尔尘尧尴尸尽层屃屉届属屡屦屿岁岂岖岗岘岙岚岛岭岳岽岿峃峄峡峣峤峥峦崂崃崄崭嵘嵚嵛嵝嵴巅巩巯币帅师帏帐帘帜带帧帮帱帻帼幂幞干并广庄庆庐庑库应庙庞废庼廪开异弃张弥弪弯弹强归当录彟彦彻径徕御忆忏忧忾怀态怂怃怄怅怆怜总怼怿恋恳恶恸恹恺恻恼恽悦悫悬悭悯惊惧惨惩惫惬惭惮惯愍愠愤愦愿慑慭憷懑懒懔戆戋戏戗战戬户扎扑扦执扩扪扫扬扰抚抛抟抠抡抢护报担拟拢拣拥拦拧拨择挂挚挛挜挝挞挟挠挡挢挣挤挥挦捞损捡换捣据捻掳掴掷掸掺掼揸揽揿搀搁搂搅携摄摅摆摇摈摊撄撑撵撷撸撺擞攒敌敛数斋斓斗斩断无旧时旷旸昙昼昽显晋晒晓晔晕晖暂暧札术朴机杀杂权条来杨杩杰极构枞枢枣枥枧枨枪枫枭柜柠柽栀栅标栈栉栊栋栌栎栏树栖样栾桊桠桡桢档桤桥桦桧桨桩梦梼梾检棂椁椟椠椤椭楼榄榇榈榉槚槛槟槠横樯樱橥橱橹橼檐檩欢欤欧歼殁殇残殒殓殚殡殴毁毂毕毙毡毵氇气氢氩氲汇汉污汤汹沓沟没沣沤沥沦沧沨沩沪沵泞泪泶泷泸泺泻泼泽泾洁洒洼浃浅浆浇浈浉浊测浍济浏浐浑浒浓浔浕涂涌涛涝涞涟涠涡涢涣涤润涧涨涩淀渊渌渍渎渐渑渔渖渗温游湾湿溃溅溆溇滗滚滞滟滠满滢滤滥滦滨滩滪漤潆潇潋潍潜潴澜濑濒灏灭灯灵灾灿炀炉炖炜炝点炼炽烁烂烃烛烟烦烧烨烩烫烬热焕焖焘煅煳熘爱爷牍牦牵牺犊犟状犷犸犹狈狍狝狞独狭狮狯狰狱狲猃猎猕猡猪猫猬献獭玑玙玚玛玮环现玱玺珉珏珐珑珰珲琎琏琐琼瑶瑷璇璎瓒瓮瓯电画畅畲畴疖疗疟疠疡疬疮疯疱疴痈痉痒痖痨痪痫痴瘅瘆瘗瘘瘪瘫瘾瘿癞癣癫癯皑皱皲盏盐监盖盗盘眍眦眬着睁睐睑瞒瞩矫矶矾矿砀码砖砗砚砜砺砻砾础硁硅硕硖硗硙硚确硷碍碛碜碱碹磙礼祎祢祯祷祸禀禄禅离秃秆种积称秽秾稆税稣稳穑穷窃窍窑窜窝窥窦窭竖竞笃笋笔笕笺笼笾筑筚筛筜筝筹签简箓箦箧箨箩箪箫篑篓篮篱簖籁籴类籼粜粝粤粪粮糁糇紧絷纟纠纡红纣纤纥约级纨纩纪纫纬纭纮纯纰纱纲纳纴纵纶纷纸纹纺纻纼纽纾线绀绁绂练组绅细织终绉绊绋绌绍绎经绐绑绒结绔绕绖绗绘给绚绛络绝绞统绠绡绢绣绤绥绦继绨绩绪绫绬续绮绯绰绱绲绳维绵绶绷绸绹绺绻综绽绾绿缀缁缂缃缄缅缆缇缈缉缊缋缌缍缎缏缐缑缒缓缔缕编缗缘缙缚缛缜缝缞缟缠缡缢缣缤缥缦缧缨缩缪缫缬缭缮缯缰缱缲缳缴缵罂网罗罚罢罴羁羟羡翘翙翚耢耧耸耻聂聋职聍联聩聪肃肠肤肷肾肿胀胁胆胜胧胨胪胫胶脉脍脏脐脑脓脔脚脱脶脸腊腌腘腭腻腼腽腾膑臜舆舣舰舱舻艰艳艹艺节芈芗芜芦苁苇苈苋苌苍苎苏苘苹茎茏茑茔茕茧荆荐荙荚荛荜荞荟荠荡荣荤荥荦荧荨荩荪荫荬荭荮药莅莜莱莲莳莴莶获莸莹莺莼萚萝萤营萦萧萨葱蒇蒉蒋蒌蓝蓟蓠蓣蓥蓦蔷蔹蔺蔼蕲蕴薮藁藓虏虑虚虫虬虮虽虾虿蚀蚁蚂蚕蚝蚬蛊蛎蛏蛮蛰蛱蛲蛳蛴蜕蜗蜡蝇蝈蝉蝎蝼蝾螀螨蟏衅衔补衬衮袄袅袆袜袭袯装裆裈裢裣裤裥褛褴襁襕见观觃规觅视觇览觉觊觋觌觍觎觏觐觑觞触觯詟誉誊讠计订讣认讥讦讧讨让讪讫训议讯记讱讲讳讴讵讶讷许讹论讻讼讽设访诀证诂诃评诅识诇诈诉诊诋诌词诎诏诐译诒诓诔试诖诗诘诙诚诛诜话诞诟诠诡询诣诤该详诧诨诩诪诫诬语诮误诰诱诲诳说诵诶请诸诹诺读诼诽课诿谀谁谂调谄谅谆谇谈谊谋谌谍谎谏谐谑谒谓谔谕谖谗谘谙谚谛谜谝谞谟谠谡谢谣谤谥谦谧谨谩谪谫谬谭谮谯谰谱谲谳谴谵谶谷豮贝贞负贠贡财责贤败账货质贩贪贫贬购贮贯贰贱贲贳贴贵贶贷贸费贺贻贼贽贾贿赀赁赂赃资赅赆赇赈赉赊赋赌赍赎赏赐赑赒赓赔赕赖赗赘赙赚赛赜赝赞赟赠赡赢赣赪赵赶趋趱趸跃跄跖跞践跶跷跸跹跻踊踌踪踬踯蹑蹒蹰蹿躏躜躯车轧轨轩轪轫转轭轮软轰轱轲轳轴轵轶轷轸轹轺轻轼载轾轿辀辁辂较辄辅辆辇辈辉辊辋辌辍辎辏辐辑辒输辔辕辖辗辘辙辚辞辩辫边辽达迁过迈运还这进远违连迟迩迳迹适选逊递逦逻遗遥邓邝邬邮邹邺邻郁郄郏郐郑郓郦郧郸酝酦酱酽酾酿释里鉅鉴銮錾钆钇针钉钊钋钌钍钎钏钐钑钒钓钔钕钖钗钘钙钚钛钝钞钟钠钡钢钣钤钥钦钧钨钩钪钫钬钭钮钯钰钱钲钳钴钵钶钷钸钹钺钻钼钽钾钿铀铁铂铃铄铅铆铈铉铊铋铍铎铏铐铑铒铕铗铘铙铚铛铜铝铞铟铠铡铢铣铤铥铦铧铨铪铫铬铭铮铯铰铱铲铳铴铵银铷铸铹铺铻铼铽链铿销锁锂锃锄锅锆锇锈锉锊锋锌锍锎锏锐锑锒锓锔锕锖锗错锚锜锞锟锠锡锢锣锤锥锦锨锩锫锬锭键锯锰锱锲锳锴锵锶锷锸锹锺锻锼锽锾锿镀镁镂镃镆镇镈镉镊镌镍镎镏镐镑镒镕镖镗镙镚镛镜镝镞镟镠镡镢镣镤镥镦镧镨镩镪镫镬镭镮镯镰镱镲镳镴镶长门闩闪闫闬闭问闯闰闱闲闳间闵闶闷闸闹闺闻闼闽闾闿阀阁阂阃阄阅阆阇阈阉阊阋阌阍阎阏阐阑阒阓阔阕阖阗阘阙阚阛队阳阴阵阶际陆陇陈陉陕陧陨险随隐隶隽难雏雠雳雾霁霉霭靓静靥鞑鞒鞯鞴韦韧韨韩韪韫韬韵页顶顷顸项顺须顼顽顾顿颀颁颂颃预颅领颇颈颉颊颋颌颍颎颏颐频颒颓颔颕颖颗题颙颚颛颜额颞颟颠颡颢颣颤颥颦颧风飏飐飑飒飓飔飕飖飗飘飙飚飞飨餍饤饥饦饧饨饩饪饫饬饭饮饯饰饱饲饳饴饵饶饷饸饹饺饻饼饽饾饿馀馁馂馃馄馅馆馇馈馉馊馋馌馍馎馏馐馑馒馓馔馕马驭驮驯驰驱驲驳驴驵驶驷驸驹驺驻驼驽驾驿骀骁骂骃骄骅骆骇骈骉骊骋验骍骎骏骐骑骒骓骔骕骖骗骘骙骚骛骜骝骞骟骠骡骢骣骤骥骦骧髅髋髌鬓魇魉鱼鱽鱾鱿鲀鲁鲂鲄鲅鲆鲇鲈鲉鲊鲋鲌鲍鲎鲏鲐鲑鲒鲓鲔鲕鲖鲗鲘鲙鲚鲛鲜鲝鲞鲟鲠鲡鲢鲣鲤鲥鲦鲧鲨鲩鲪鲫鲬鲭鲮鲯鲰鲱鲲鲳鲴鲵鲶鲷鲸鲹鲺鲻鲼鲽鲾鲿鳀鳁鳂鳃鳄鳅鳆鳇鳈鳉鳊鳋鳌鳍鳎鳏鳐鳑鳒鳓鳔鳕鳖鳗鳘鳙鳛鳜鳝鳞鳟鳠鳡鳢鳣鸟鸠鸡鸢鸣鸤鸥鸦鸧鸨鸩鸪鸫鸬鸭鸮鸯鸰鸱鸲鸳鸴鸵鸶鸷鸸鸹鸺鸻鸼鸽鸾鸿鹀鹁鹂鹃鹄鹅鹆鹇鹈鹉鹊鹋鹌鹍鹎鹏鹐鹑鹒鹓鹔鹕鹖鹗鹘鹚鹛鹜鹝鹞鹟鹠鹡鹢鹣鹤鹥鹦鹧鹨鹩鹪鹫鹬鹭鹯鹰鹱鹲鹳鹴鹾麦麸黄黉黡黩黪黾鼋鼌鼍鼗鼹齄齐齑齿龀龁龂龃龄龅龆龇龈龉龊龋龌龙龚龛龟志制咨只里系范松没尝尝闹面准钟别闲干尽脏拼’;
}

function FTPYStr()
{
return ‘萬與醜專業叢東絲丟兩嚴喪個爿豐臨為麗舉麼義烏樂喬習鄉書買亂爭於虧雲亙亞產畝親褻嚲億僅從侖倉儀們價眾優夥會傴傘偉傳傷倀倫傖偽佇體餘傭僉俠侶僥偵側僑儈儕儂俁儔儼倆儷儉債傾傯僂僨償儻儐儲儺兒兌兗黨蘭關興茲養獸囅內岡冊寫軍農塚馮衝決況凍淨淒涼淩減湊凜幾鳳鳧憑凱擊氹鑿芻劃劉則剛創刪別剗剄劊劌剴劑剮劍剝劇勸辦務勱動勵勁勞勢勳猛勩勻匭匱區醫華協單賣盧鹵臥衛卻巹廠廳曆厲壓厭厙廁廂厴廈廚廄廝縣參靉靆雙發變敘疊葉號歎嘰籲後嚇呂嗎唚噸聽啟吳嘸囈嘔嚦唄員咼嗆嗚詠哢嚨嚀噝吒噅鹹呱響啞噠嘵嗶噦嘩噲嚌噥喲嘜嗊嘮啢嗩唕喚呼嘖嗇囀齧囉嘽嘯噴嘍嚳囁嗬噯噓嚶囑嚕劈囂謔團園囪圍圇國圖圓聖壙場阪壞塊堅壇壢壩塢墳墜壟壟壚壘墾坰堊墊埡墶壋塏堖塒塤堝墊垵塹墮壪牆壯聲殼壺壼處備複夠頭誇夾奪奩奐奮獎奧妝婦媽嫵嫗媯姍薑婁婭嬈嬌孌娛媧嫻嫿嬰嬋嬸媼嬡嬪嬙嬤孫學孿寧寶實寵審憲宮寬賓寢對尋導壽將爾塵堯尷屍盡層屭屜屆屬屢屨嶼歲豈嶇崗峴嶴嵐島嶺嶽崠巋嶨嶧峽嶢嶠崢巒嶗崍嶮嶄嶸嶔崳嶁脊巔鞏巰幣帥師幃帳簾幟帶幀幫幬幘幗冪襆幹並廣莊慶廬廡庫應廟龐廢廎廩開異棄張彌弳彎彈強歸當錄彠彥徹徑徠禦憶懺憂愾懷態慫憮慪悵愴憐總懟懌戀懇惡慟懨愷惻惱惲悅愨懸慳憫驚懼慘懲憊愜慚憚慣湣慍憤憒願懾憖怵懣懶懍戇戔戲戧戰戩戶紮撲扡執擴捫掃揚擾撫拋摶摳掄搶護報擔擬攏揀擁攔擰撥擇掛摯攣掗撾撻挾撓擋撟掙擠揮撏撈損撿換搗據撚擄摑擲撣摻摜摣攬撳攙擱摟攪攜攝攄擺搖擯攤攖撐攆擷擼攛擻攢敵斂數齋斕鬥斬斷無舊時曠暘曇晝曨顯晉曬曉曄暈暉暫曖劄術樸機殺雜權條來楊榪傑極構樅樞棗櫪梘棖槍楓梟櫃檸檉梔柵標棧櫛櫳棟櫨櫟欄樹棲樣欒棬椏橈楨檔榿橋樺檜槳樁夢檮棶檢欞槨櫝槧欏橢樓欖櫬櫚櫸檟檻檳櫧橫檣櫻櫫櫥櫓櫞簷檁歡歟歐殲歿殤殘殞殮殫殯毆毀轂畢斃氈毿氌氣氫氬氳彙漢汙湯洶遝溝沒灃漚瀝淪滄渢溈滬濔濘淚澩瀧瀘濼瀉潑澤涇潔灑窪浹淺漿澆湞溮濁測澮濟瀏滻渾滸濃潯濜塗湧濤澇淶漣潿渦溳渙滌潤澗漲澀澱淵淥漬瀆漸澠漁瀋滲溫遊灣濕潰濺漵漊潷滾滯灩灄滿瀅濾濫灤濱灘澦濫瀠瀟瀲濰潛瀦瀾瀨瀕灝滅燈靈災燦煬爐燉煒熗點煉熾爍爛烴燭煙煩燒燁燴燙燼熱煥燜燾煆糊溜愛爺牘犛牽犧犢強狀獷獁猶狽麅獮獰獨狹獅獪猙獄猻獫獵獼玀豬貓蝟獻獺璣璵瑒瑪瑋環現瑲璽瑉玨琺瓏璫琿璡璉瑣瓊瑤璦璿瓔瓚甕甌電畫暢佘疇癤療瘧癘瘍鬁瘡瘋皰屙癰痙癢瘂癆瘓癇癡癉瘮瘞瘺癟癱癮癭癩癬癲臒皚皺皸盞鹽監蓋盜盤瞘眥矓著睜睞瞼瞞矚矯磯礬礦碭碼磚硨硯碸礪礱礫礎硜矽碩硤磽磑礄確鹼礙磧磣堿镟滾禮禕禰禎禱禍稟祿禪離禿稈種積稱穢穠穭稅穌穩穡窮竊竅窯竄窩窺竇窶豎競篤筍筆筧箋籠籩築篳篩簹箏籌簽簡籙簀篋籜籮簞簫簣簍籃籬籪籟糴類秈糶糲粵糞糧糝餱緊縶糸糾紆紅紂纖紇約級紈纊紀紉緯紜紘純紕紗綱納紝縱綸紛紙紋紡紵紖紐紓線紺絏紱練組紳細織終縐絆紼絀紹繹經紿綁絨結絝繞絰絎繪給絢絳絡絕絞統綆綃絹繡綌綏絛繼綈績緒綾緓續綺緋綽緔緄繩維綿綬繃綢綯綹綣綜綻綰綠綴緇緙緗緘緬纜緹緲緝縕繢緦綞緞緶線緱縋緩締縷編緡緣縉縛縟縝縫縗縞纏縭縊縑繽縹縵縲纓縮繆繅纈繚繕繒韁繾繰繯繳纘罌網羅罰罷羆羈羥羨翹翽翬耮耬聳恥聶聾職聹聯聵聰肅腸膚膁腎腫脹脅膽勝朧腖臚脛膠脈膾髒臍腦膿臠腳脫腡臉臘醃膕齶膩靦膃騰臏臢輿艤艦艙艫艱豔艸藝節羋薌蕪蘆蓯葦藶莧萇蒼苧蘇檾蘋莖蘢蔦塋煢繭荊薦薘莢蕘蓽蕎薈薺蕩榮葷滎犖熒蕁藎蓀蔭蕒葒葤藥蒞蓧萊蓮蒔萵薟獲蕕瑩鶯蓴蘀蘿螢營縈蕭薩蔥蕆蕢蔣蔞藍薊蘺蕷鎣驀薔蘞藺藹蘄蘊藪槁蘚虜慮虛蟲虯蟣雖蝦蠆蝕蟻螞蠶蠔蜆蠱蠣蟶蠻蟄蛺蟯螄蠐蛻蝸蠟蠅蟈蟬蠍螻蠑螿蟎蠨釁銜補襯袞襖嫋褘襪襲襏裝襠褌褳襝褲襇褸襤繈襴見觀覎規覓視覘覽覺覬覡覿覥覦覯覲覷觴觸觶讋譽謄訁計訂訃認譏訐訌討讓訕訖訓議訊記訒講諱謳詎訝訥許訛論訩訟諷設訪訣證詁訶評詛識詗詐訴診詆謅詞詘詔詖譯詒誆誄試詿詩詰詼誠誅詵話誕詬詮詭詢詣諍該詳詫諢詡譸誡誣語誚誤誥誘誨誑說誦誒請諸諏諾讀諑誹課諉諛誰諗調諂諒諄誶談誼謀諶諜謊諫諧謔謁謂諤諭諼讒諮諳諺諦謎諞諝謨讜謖謝謠謗諡謙謐謹謾謫譾謬譚譖譙讕譜譎讞譴譫讖穀豶貝貞負貟貢財責賢敗賬貨質販貪貧貶購貯貫貳賤賁貰貼貴貺貸貿費賀貽賊贄賈賄貲賃賂贓資賅贐賕賑賚賒賦賭齎贖賞賜贔賙賡賠賧賴賵贅賻賺賽賾贗讚贇贈贍贏贛赬趙趕趨趲躉躍蹌蹠躒踐躂蹺蹕躚躋踴躊蹤躓躑躡蹣躕躥躪躦軀車軋軌軒軑軔轉軛輪軟轟軲軻轤軸軹軼軤軫轢軺輕軾載輊轎輈輇輅較輒輔輛輦輩輝輥輞輬輟輜輳輻輯轀輸轡轅轄輾轆轍轔辭辯辮邊遼達遷過邁運還這進遠違連遲邇逕跡適選遜遞邐邏遺遙鄧鄺鄔郵鄒鄴鄰鬱郤郟鄶鄭鄆酈鄖鄲醞醱醬釅釃釀釋裏钜鑒鑾鏨釓釔針釘釗釙釕釷釺釧釤鈒釩釣鍆釹鍚釵鈃鈣鈈鈦鈍鈔鍾鈉鋇鋼鈑鈐鑰欽鈞鎢鉤鈧鈁鈥鈄鈕鈀鈺錢鉦鉗鈷缽鈳鉕鈽鈸鉞鑽鉬鉭鉀鈿鈾鐵鉑鈴鑠鉛鉚鈰鉉鉈鉍鈹鐸鉶銬銠鉺銪鋏鋣鐃銍鐺銅鋁銱銦鎧鍘銖銑鋌銩銛鏵銓鉿銚鉻銘錚銫鉸銥鏟銃鐋銨銀銣鑄鐒鋪鋙錸鋱鏈鏗銷鎖鋰鋥鋤鍋鋯鋨鏽銼鋝鋒鋅鋶鐦鐧銳銻鋃鋟鋦錒錆鍺錯錨錡錁錕錩錫錮鑼錘錐錦鍁錈錇錟錠鍵鋸錳錙鍥鍈鍇鏘鍶鍔鍤鍬鍾鍛鎪鍠鍰鎄鍍鎂鏤鎡鏌鎮鎛鎘鑷鐫鎳鎿鎦鎬鎊鎰鎔鏢鏜鏍鏰鏞鏡鏑鏃鏇鏐鐔钁鐐鏷鑥鐓鑭鐠鑹鏹鐙鑊鐳鐶鐲鐮鐿鑔鑣鑞鑲長門閂閃閆閈閉問闖閏闈閑閎間閔閌悶閘鬧閨聞闥閩閭闓閥閣閡閫鬮閱閬闍閾閹閶鬩閿閽閻閼闡闌闃闠闊闋闔闐闒闕闞闤隊陽陰陣階際陸隴陳陘陝隉隕險隨隱隸雋難雛讎靂霧霽黴靄靚靜靨韃鞽韉韝韋韌韍韓韙韞韜韻頁頂頃頇項順須頊頑顧頓頎頒頌頏預顱領頗頸頡頰頲頜潁熲頦頤頻頮頹頷頴穎顆題顒顎顓顏額顳顢顛顙顥纇顫顬顰顴風颺颭颮颯颶颸颼颻飀飄飆飆飛饗饜飣饑飥餳飩餼飪飫飭飯飲餞飾飽飼飿飴餌饒餉餄餎餃餏餅餑餖餓餘餒餕餜餛餡館餷饋餶餿饞饁饃餺餾饈饉饅饊饌饢馬馭馱馴馳驅馹駁驢駔駛駟駙駒騶駐駝駑駕驛駘驍罵駰驕驊駱駭駢驫驪騁驗騂駸駿騏騎騍騅騌驌驂騙騭騤騷騖驁騮騫騸驃騾驄驏驟驥驦驤髏髖髕鬢魘魎魚魛魢魷魨魯魴魺鮁鮃鯰鱸鮋鮓鮒鮊鮑鱟鮍鮐鮭鮚鮳鮪鮞鮦鰂鮜鱠鱭鮫鮮鮺鯗鱘鯁鱺鰱鰹鯉鰣鰷鯀鯊鯇鮶鯽鯒鯖鯪鯕鯫鯡鯤鯧鯝鯢鯰鯛鯨鯵鯴鯔鱝鰈鰏鱨鯷鰮鰃鰓鱷鰍鰒鰉鰁鱂鯿鰠鼇鰭鰨鰥鰩鰟鰜鰳鰾鱈鱉鰻鰵鱅鰼鱖鱔鱗鱒鱯鱤鱧鱣鳥鳩雞鳶鳴鳲鷗鴉鶬鴇鴆鴣鶇鸕鴨鴞鴦鴒鴟鴝鴛鴬鴕鷥鷙鴯鴰鵂鴴鵃鴿鸞鴻鵐鵓鸝鵑鵠鵝鵒鷳鵜鵡鵲鶓鵪鶤鵯鵬鵮鶉鶊鵷鷫鶘鶡鶚鶻鶿鶥鶩鷊鷂鶲鶹鶺鷁鶼鶴鷖鸚鷓鷚鷯鷦鷲鷸鷺鸇鷹鸌鸏鸛鸘鹺麥麩黃黌黶黷黲黽黿鼂鼉鞀鼴齇齊齏齒齔齕齗齟齡齙齠齜齦齬齪齲齷龍龔龕龜誌製谘隻裡係範鬆冇嚐嘗鬨麵準鐘彆閒乾儘臟拚’;
}

function Traditionalized( cc )
{
var str = ”;
var ss = JTPYStr();
var tt = FTPYStr();

for(var i = 0 ; i < cc.length ; i++ )
{
if( cc.charCodeAt(i) > 10000 && ss.indexOf( cc.charAt(i) ) != -1 )
str += tt.charAt( ss.indexOf( cc.charAt(i) ) );
else
str += cc.charAt(i);
}
return str;
}

function Simplized(cc){
var str = ”;
var ss = JTPYStr();
var tt = FTPYStr();

for( var i=0 ; i < cc.length ; i++)
{
if( cc.charCodeAt(i) > 10000 && tt.indexOf( cc.charAt(i) ) != -1 )
str += ss.charAt( tt.indexOf( cc.charAt(i) ) );
else
str += cc.charAt(i);
}
return str;
}

function setCookie(name,value,days)
{
if (days)
{
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = “; expires=”+date.toGMTString();
}
else var expires = “”;
document.cookie = name+”=”+value+expires+”; path=/”;
}

function getCookie(name)
{
var nameEQ = name + “=”;
var ca = document.cookie.split(‘;’);
for(var i=0;i < ca.length;i++)
{
var c = ca[i];
while (c.charAt(0)==’ ‘) c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}

function translateInitilization()
{
translateButtonObject = document.getElementById( translateButtonId );
if ( translateButtonObject )
{
with( translateButtonObject )
{
if(typeof(document.all)!=”object”)
{
href=”javascript:translatePage();”;
}
else
{
href=”#”;
onclick = new Function( “translatePage(); return false;”);
}
}

if ( currentEncoding != targetEncoding )
{
setTimeout(“translateBody()”,translateDelay);
if( targetEncoding == 1 )
translateButtonObject.innerHTML = msgToSimplifiedChinese;
else
translateButtonObject.innerHTML = msgToTraditionalChinese;
}
}
}

2、修改变量。解压后,用记事本打开,对前几行有标注的变量进行更改;
3、上传上面的JS到相应目录,只要在文件中包含相对路径即可;
4、在所需要的地方加上链接:<a id=”translateLink”>繁體</a>
5、然后在footer里加上如下代码:
<script type=”text/javascript” src=”tw_big5.js” mce_src=”tw_big5.js”></script>
<script type=”text/javascript”>
var defaultEncoding = 0; //默认是否繁体,0-简体,1-繁体
var translateDelay = 0; //延迟时间,若不在前, 要设定延迟翻译时间, 如100表示100ms,默认为0
var cookieDomain = “http://log.zhoz.com”; //Cookie地址, 一定要设定, 通常为你的网址
var msgToTraditionalChinese = “繁體”; //默认切换为繁体时显示的中文字符
var msgToSimplifiedChinese = “简体”; //默认切换为简体时显示的中文字符
var translateButtonId = “translateLink”; //默认互换id
translateInitilization();
</script>

6、等着看效果吧,帅呆了。。。。这样可以对所有的站点进行免费、快速转换吧!


本文转载于:http://log.zhoz.com/read.php?275

免插件实现WordPress SMTP邮件服务

如何让 WordPress 支持 SMTP 发送邮件呢?方法很简单,安装一个 Configure SMTP 插件,配置好邮箱参数启用就可以了。不想用插件?也行,直接将以下代码加入你使用的主题的 functions.php 即可。

//使用smtp发送邮件(请根据自己使用的邮箱设置SMTP)
add_action('phpmailer_init', 'mail_smtp');
function mail_smtp( $phpmailer ) {
	$phpmailer->FromName = '常阳时光'; //发件人名称
	$phpmailer->Host = 'smtp.qq.com'; //修改为你使用的邮箱SMTP服务器
	$phpmailer->Port = 465; //SMTP端口
	$phpmailer->Username = '123@qq.com'; //邮箱账户
	$phpmailer->Password = '123123123'; //邮箱密码
	$phpmailer->From = '123@qq.com'; //邮箱账户
	$phpmailer->SMTPAuth = true;
	$phpmailer->SMTPSecure = 'ssl'; //tls or ssl (port=25时->留空,465时->ssl)
	$phpmailer->IsSMTP();
}

这样就可以了(亲测可用)。

附上各邮箱的端口及smtp地址:

188 邮箱
pop3.188.com smtp.188.com 端口:25
163 邮箱
pop3.163.com smtp.163.com 端口:25
126 邮箱
pop3.126.com smtp.126.com 端口:25
netease 邮箱
pop.netease.com smtp.netease.com 端口:25
yeah 邮箱
pop.yeah.net smtp.yeah.net 端口:25
QQ 邮箱
pop.qq.com smtp.qq.com 端口:465或587

 

本文转载于:https://cyhour.com/7/

解决WordPress Avada 5.4 谷歌字体webfont.js问题优化后台加载速度

启动Avada主题后,网站前后台都需要加载webfont.js,前台首页和其他页面都有,查看源代码在<title>下面(如图),前台加载 https://ajax.googleapis.com/ajax/libs/webfont/1.5.3/webfont.js

WordPress 后台加载 https://ajax.googleapis.com/ajax/libs/webfont/1.5.0/webfont.js?ver=1.5.0

解决WordPress Avada 4.0.3 谷歌字体webfont.js
 前言和问题描述
  1. 首先,得知一个好消息:国内可以访问谷歌字体库了 fonts.googleapis.com,但依然无法访问 ajax.googleapis.com

    还有一个不好不坏的消息:360谷歌字体镜像库停止服务了 fonts.useso.com

    解决办法:WordPress的用户可以用“WP Acceleration for China”,可以用“极客族”替代谷歌地址,这个插件可以解决大部分谷歌字体和谷歌ajax库的问题,依然推荐。但是这个插件解决不了WordPress主题内部的谷歌字体问题,下面Avada主题就是个例子

    下面说说升级到Avada5.4版本后,前台和后台加载慢的问题。这个问题主要原因是由谷歌字体加载失败而导致的,特此写个文章以备后用。

     

  2. 现象:

    启动Avada主题后,网站前后台都需要加载webfont.js,前台首页和其他页面都有,查看源代码在<title>下面(如图),前台加载 https://ajax.googleapis.com/ajax/libs/webfont/1.5.3/webfont.js

    WordPress 后台加载 https://ajax.googleapis.com/ajax/libs/webfont/1.5.0/webfont.js?ver=1.5.0

    切换其他主题无此现象,显然是Avada主题造成的。

    解决WordPress Avada 4.0.3 谷歌字体webfont.js

解决方法

  1.  解决方案:

    找到Avada主题的两个文件,找到这两行代码,把谷歌的链接替换成极客族的即可。

  2.  前台的:/wp-content/themes/Avada/includes/lib/inc/redux/framework/FusionReduxCore/framework.php

    找到: https://ajax.googleapis.com/ajax/libs/webfont/1.5.3/webfont.js  [ 1677行左右 ]

    替换:http://fdn.geekzu.org/ajax/ajax/libs/webfont/1.5.3/webfont.js

  3.  后台的:/wp-content/themes/Avada/includes/lib/inc/redux/framework/FusionReduxCore/core/enqueue.php

    找到:https://ajax.googleapis.com/ajax/libs/webfont/1.5.0/webfont.js?ver=1.5.0 [ 291行左右 ]

    替换成:http://fdn.geekzu.org/ajax/ajax/libs/webfont/1.5.0/webfont.js

    保存上传,即可。

Avada主题中文汉化版送密钥可在线更新wordpress企业主题通用强大简洁多功能【V5.4】

Avada中文版是一个多功能wordpress主题,全球销量第一wordpress企业主题,适用于企业站和相册站、购物商城,博客站等。设计简洁大方,非常适合喜欢简洁风格的企业使用,主题自带幻灯片,支持商店插件,带页面生成器插件,即使只购买主题使用,也可以配合其它的幻灯片插件使用。

Avada主题是国外ThemeFusion团队所开发,所用语言是英文,字体样式等大多采用的是谷歌资源,若直接拿来应用于国内的环境,会影响整体的性能和用户体验,我们都知道天朝互联网是相对封闭的,无法直接访问谷歌资源,所以需要对主题进行适当处理,才能正常使用。下面列出本站优化主题特点:

  • 1. 完全自适应,适合手机、平板和电脑浏览
  • 2. 自带融合幻灯片
  • 3. 支持视网膜设备
  • 4. 内置大菜单
  • 5. 支持woocommerce商店插件
  • 6. 支持bbpress论坛插件
  • 7. 支持Layerslider幻灯片插件
  • 8. 支持Revolution幻灯片插件
  • 9. 自带弹性幻灯片
  • 10. 支持Contact form 7和Gravty form表单插件
  • 11. 支持WPML多语言插件
  • 12. 支持多种SEO插件
  • 13. 可一键导入英文演示、可使用编辑器中的库功能
  • 14. 添加微软雅黑中文字体
  • 15. 优化主题和插件加载速度
  • 16. 汉化率超99.9%

 

主机配置要求说明

1. 最低要求:服务器内存1G(虚拟主机)或2G(VPS)以上
2. PHP内存限制256M或以上
3. PHP版本5.6或以上(推荐PHP版本7.1+)
4. 推荐配置:服务器系统推荐linux(centos)
5. 2核CPU,2G内存,2M带宽

更新记录

2017.12.20更新至V5.4
2017.12.4更新至V5.3.1
2017.11.16更新至V5.2.3
2017.9.6更新至V5.2.2
2017.8.10更新至V5.2.1
2017.7.19更新至V5.2
2017.5.9更新至V5.1.6
2017.4.13更新至V5.1.5
2017.3.27更新至V5.1.4
2017.3.17更新至V5.1.1
2016.12.21更新至V5.0.6
2016.12.7更新至V5.0.5
2016.11.23更新至V5.0.4
2016.10.29更新至V5.0.2
2016.7.23初始汉化版本V4.0.3

请一定要认真阅读以下内容,购买宝贝表示您已阅读并同意以下内容:

保证发送的主题或插件完整性(但不含帮助文档、XML文件、PSD、授权许可等);
保证主题或插件可用(但不保证在所有空间上可用);
保证主题或插件兼容某一版本的WP(但不保证兼容所有版本的WP);
保证主题或插件兼容90%以上的插件或主题(不保证兼容您所使用的插件或主题);
保证为您免费解答此主题或插件的问题(但不回答代码问题以及此主题或插件以外的问题);
保证不添加任何恶意代码;
保证此主题或插件汉化率99%以上;
保证此主题或插件不出现原版以外的BUG,如有可免费修改;
不保证兼容所有浏览器,兼容性可以浏览演示站自行测试;
不保证您一定会使用;
不保证所有主题和插件以后可升级;
因程序为可复制产品,故本店不接受任何理由的退款

图片仅供参考,图片为设置后效果,非安装后效果    –>案例网址:www.eightynet.com


1.为什么您店里的主题比较贵?

答:因为本店汉化的主题质量特别好,汉化率达99%以上,且修改过字体,优化过代码,速度更快,服务时间更长,更适合国内用户使用。


2.为什么安装设置费用比主题贵?

答:因为主题可以卖很多份,但安装设置是为您一个人服务的,所以价格比主题贵。


3.您卖的主题后台汉化了吗?

答:我店里所有主题和插件前台和后台均已汉化,且汉化率超过99%。


4.主题升级免费吗?

答:免费提供官方密钥在线升级,只要这种方式官方未禁止,就会一直提供升级服务。


5.有不会的可以教吗?

答:当然,如果主题和插件设置方面有不会的,晴朗网络会为您详细解答,时间不限,不管你是几年前的,还是现在购买的,晴朗网络都会为您耐心解答问题。当然,源代码相关问题不在回答范围,这属于付费服务。


6.为什么你们有些主题比较慢?

答:影响网站的访问速度原因有很多,比如:主机硬件配置、环境、程序都有关系,而主题只属于第3种,如果你的服务器内存太低,带宽太小,或者环境参数设置有问题,一样会影响网站速度。晴朗网络已对本店所有汉化的主题和插件都进行过极致的速度优化处理,站长本人也用在了生产环境。对于国外主题晴朗网络推荐1G空间(虚拟主机)或2G(VPS或云主机)以上,2M以上带宽,如果是自己安装环境,建议使用宝塔面板,这样就会有一个比较快速的网站了。

 

教你如何快速搞定PHP

如何搞定PHP,今天就php学习和大家分享一下自己的学习心得,不过我还认为php目前是一个最好的开发语言,很早之前是用的asp是最好的开发语言,不过现在比较流行的语言都有:java、c++、android、ios、html5等等。主要分为前端和后台开发两种,php针对小型企业网站建设是非常不错的选择,现在我简单给大家介绍下如何快速入门php

作者: King
本站转载于慕课网:https://www.imooc.com/article/6765

21 个非常有用的 .Htaccess 提示和技巧

Apache Web 服务器可以通过 .htaccess 文件来操作各种信息,这是一个目录级配置文件的默认名称,允许去中央化的 Web 服务器配置管理。可用来重写服务器的全局配置。该文件的目的就是为了允许单独目录的访问控制配置,例如密码和内容访问。在做网站的时候常常用到很多.htaccess 规则,我给大家总结了21 个非常有用的 .htaccess 提示和技巧

下面是 21 个非常有用的 .htaccess 配置的提示和技巧:

1. 定制目录的 Index 文件

DirectoryIndex index.html index.php index.htm

 

你可以使用上面的配置来更改目录的默认页面,例如你将这个脚本放在 foo 目录,则用户请求 /foo/ 时候就会访问 /foo/index.html。

 

2. 自定义错误页
ErrorDocument 404 errors/404.html
当用户访问页面报错时,例如页面找不到你希望显示自定义的错误页面,你可以通过这种方法来实现。或者是动态的页面:

ErrorDocument 404 /psych/cgi-bin/error/error?404

 

3. 控制访问文件和目录的级别
.htaccess 经常用来限制和拒绝访问某个文件和目录,例如我们有一个 includes 文件夹,这里存放一些脚本,我们不希望用户直接访问这个文件夹,那么通过下面的脚本可以实现:
# no one gets in here!
deny from all
上述脚本是拒绝所有的访问,你也可以根据IP段来拒绝:

# no nasty crackers in here!
order deny,allow
deny from all
allow from 192.168.0.0/24
# this would do the same thing..
#allow from 192.168.0

一般这些方法是通过防火墙来处理,但在一个生产环境中的服务器来说,这样的调整非常方便。

有时候你只是想禁止某个ip访问:

# someone else giving the ruskies a bad name..
order allow,deny
deny from 83.222.23.219
allow from all

 

4. 修改环境变量
环境变量包含了服务器端 CGI 的一些扩展信息,可使用 SetEnv 和 UnSetEnv 进行设置以及取消设置.

SetEnv SITE_WEBMASTER "Jack Sprat"
SetEnv SITE_WEBMASTER_URI mailto:Jack.Sprat@characterology.com
UnSetEnv REMOTE_ADDR

 

5. 301 重定向
如果你希望某个页面跳转到新的页面:

Redirect 301 /old/file.html http://yourdomain.com/new/file.html

下面可以实现对整个路径的重定向

RedirectMatch 301 /blog(.*) http://yourdomain.com/$1

 

6. 通过 .Htaccess 实现缓存策略
通过设置在浏览器上缓存静态文件可以提升网站的性能:

# year
<FilesMatch".(ico|pdf|flv|jpg|jpeg|png|gif|swf|mp3|mp4)$">
Header set Cache-Control "public"
Header set Expires "Thu, 15 Apr 2010 20:00:00 GMT"
Header unset Last-Modified
</FilesMatch>
#2 hours
<FilesMatch".(html|htm|xml|txt|xsl)$">
Header set Cache-Control "max-age=7200, must-revalidate"
</FilesMatch>
<FilesMatch".(js|css)$">
SetOutputFilter DEFLATE
Header set Expires "Thu, 15 Apr 2010 20:00:00 GMT"
</FilesMatch>

 

7. 使用 GZIP 对输出进行压缩

在 .htaccess 中添加下面的代码可以将所有的 css、js 和 html 使用 GZIP 算法压缩:

<IfModulemod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>

使用上面代码的前提是启用 mod_gzip 模块,你可以使用下面脚本来判断 Web 服务器是否提供 mod_deflate 支持:

<Location>
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI 
.(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI 
.(?:exe|t?gz|zip|gz2|sit|rar)$ no-gzip dont-vary
</Location>

如果 Web 服务器不支持 mod_deflate ,那么可使用下面方法:

<FilesMatch".(txt|html|htm|php)">
php_value output_handler ob_gzhandler
</FilesMatch>

 

8. 强制要求使用 HTTPS 访问
通过以下脚本可以强制整个网站必须使用 https 方式访问:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

 

9. URL 重写

例如要将 product.php?id=12 重写为 product-12.html

RewriteEngine on
RewriteRule ^product-([0-9]+).html$ product.php?id=$1

将 product.php?id=12 重写为 product/ipod-nano/12.html

RewriteEngine on
RewriteRule ^product/([a-zA-Z0-9_-]+)/([0-9]+).html$ product.php?id=$2

重定向没有 www 到有 www 的 URL 地址:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^viralpatel.net$
RewriteRule (.*) http://www.viralpatel.net/$1 [R=301,L]

重写 yoursite.com/user.php?username=xyz 到 yoursite.com/xyz

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ user.php?username=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ user.php?username=$1

重定向某个域名到一个 public_html 里新的子文件夹:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^test.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.test.com$
RewriteCond %{REQUEST_URI} !^/new/
RewriteRule (.*) /new/$1

 

10. 阻止列出目录文件

使用下面代码可以防止列表目录里的所有文件:

Options -Indexes

或者

IndexIgnore *

更多详情 Denying/Allowing directory listing.

 

11. 添加新的 MIME-Types

MIME-types 依赖于文件的扩展名,未能被识别的文件扩展名会当成文本数据传输

AddType application/x-endnote-connection enz
AddType application/x-endnote-filter enf
AddType application/x-spss-savefile sav

 

12. 防盗链

你不希望别人网站引用你站内的图片、css 等静态文件,也就是传说中的防盗链,可以使用如下脚本:

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{REQUEST_URI} !^/(wp-login.php|wp-admin/|wp-content/plugins/|wp-includes/).* [NC]
RewriteCond %{HTTP_REFERER} !^http://www.askapache.com.*$ [NC]
RewriteRule .(ico|pdf|flv|jpg|jpeg|mp3|mpg|mp4|mov|wav|wmv|png|gif|swf|css|js)$ - [F,NS,L]

 

13. 指定上传文件的大小限制,适用于 PHP

php_value upload_max_filesize 20M
php_value post_max_size 20M
php_value max_execution_time 200
php_value max_input_time 200

 

上述脚本中,通过四个参数来设置上传文件的限制,第一个参数是文件的大小,第二个是 POST 数据的大小,第三个是传输的时间(单位秒),最后一个是解析上传数据最多花费的时间(单位秒)

14. 禁止脚本执行

Options -ExecCGI
AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi

 

15. 修改字符集和语言头

AddDefaultCharset UTF-8
DefaultLanguage en-US

 

16. 设置服务器时区(GMT)

SetEnv TZ America/Indianapolis

 

17. 强制 “File Save As” 提示

AddType application/octet-stream .avi .mpg .mov .pdf .xls .mp4

 

18. 保护单个文件

正常情况下 .htaccess 可用于限制整个目录的访问,但也可以只限制某个文件:

<Filesquiz.html>
order deny,allow
deny from all
AuthType Basic
AuthName "Characterology Student Authcate"
AuthLDAP on
AuthLDAPServer ldap://directory.characterology.com/
AuthLDAPBase "ou=Student, o=Characterology University, c=au"
require valid-user
satisfy any
</Files>

 

19. 设置 Cookie

通过环境变量来设置 Cookie
Header set Set-Cookie “language=%{lang}e; path=/;” env=lang
基于请求设置 Cookie,该代码发送 Set-Cookie 头用于设置 Cookie 值为第二个括号里的匹配项

RewriteEngine On
RewriteBase /
RewriteRule ^(.*)(de|es|fr|it|ja|ru|en)/$ - [co=lang:$2:.yourserver.com:7200:/]

 

20. 设置自定义的响应 Headers

Header set P3P "policyref="http://www.askapache.com/w3c/p3p.xml""
Header set X-Pingback "http://www.askapache.com/xmlrpc.php"
Header set Content-Language "en-US"
Header set Vary "DontTrackMeHere"

 

21. 根据 User-Agent 来阻止请求

SetEnvIfNoCase ^User-Agent$ .*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures) HTTP_SAFE_BADBOT
SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT
Deny from env=HTTP_SAFE_BADBOT

 

本文转载于:http://wangbaiyuan.cn/21_htaccess-_skills.html

AVADA5 添加微软雅黑至主题选项的方法 / 与 AVADA4 添加方法不同

AVADA主题升级至5.0版本之后,添加微软雅黑字体至后台主体设置选项的方法和文件路径略有不同。

详细区别如下:

AVADA5及以上版本

文件路径为:themes/Avada/includes/lib/inc/class-fusion-data.php

下载文件至本地后添加“微软雅黑”字体后上传覆盖即可,如下图↓

然后刷新AVADA后台主题选项设置页面,按需要进行设置即可,如下图↓

AVADA4及以下版本

文件路径为:/themes/Avada/includes/class-avada-data.php

修改方法与上方一致,找准文件路径覆盖即可。

个人分享,欢迎转载。

那些连这种问题咨询都要收费的,没啥好说的,没意思。

大家互相学习!欢迎留言!

转载于寸早博客:http://xiejingzhuo.lofter.com/post/112ce3_fc453fd