息心在操盘网站的时辰,由于要做集权优化以是常常会碰着301的题目,这些题目里处事器和空间可以办理一部门的301跳转题目,可是跟着网站的成长,需求逐渐多样化,这个时辰就不得不消网站中的htacess文件来办理301的题目了。本日我在优化网站的时辰也碰着了,以是爽性出一套写法,记录在这里,利便本身和读者随时赏识。 息心在操盘网站的时刻,因为要做集权优化所以常常会碰到301的标题,这些标题里处事器和空间能够办理一部分的301跳转标题,可是随着网站的生长,需要逐步多样化,这个时刻就不得不用网站中的htacess文件来办理301的标题了。即日我在优化网站的时刻也碰到了,所以干脆出一套写法,记载在这里,方便自身和读者随时赏识。 .htacess文件经常使用写法大全_301/封禁/防盗链 浏览以前,需要明了一件事,便是网站搭建的情况分为:Nginx和Apache。在编造主机中,咱们根底上都是Apache情况,所以本文也是默许认为你的网站属于Apache情况。因为htacess文件只会在Apache情况中收效。上面咱们开端,如果你要行使其中的某个写法,只需要所有复制,而后把yunke.com换成你的域名就行。 第一、强制www域名301跳转 RewriteEngineon RewriteCond%{HTTP_HOST}^yunkeseo.com[NC] RewriteRule^(.*)$$1[L,R=301,NC] 咱们将域名替换利息身的域名即可完成非WWW跳转到WWW域名,同时这点绝大部分编造主机就能完成 第二、强制和yunkeseo.com/index.html301重定向到 RewriteCond%{http_host}^(www.)?yunkeseo.com$[NC] RewriteCond%{request_uri}^/index.html$[NC] RewriteRule^(.*)$[L,R=301] 咱们在优化网站的时刻常常会碰到尾巴带有index.html的能够会面主页,不带这个尾巴的也能够会面主页,这对于网站集权是晦气的,精确的做法是把带有尾巴index.html的网址301到不带尾巴下来,同时思量了不带www的带尾巴index.html的网址也能够失常会面主页,所以我这里把它们写成一条规则,让它们都301到带www的网址上。 联结第一点,咱们的网站首页集权控制根底上就搞定了,总结上去便是: yunkeseo.com301 yunkeseo.com/index.html301 这三类同时重定向到,依此完成首页的集权。 第三、强制https跳转地址 RewriteEngineOn RewriteCond%{SERVER_PORT}80 RewriteRule^(.*)$$1[R,L] 如果咱们网站接纳SSL证书,则同样寻常需要强制跳转https门路,这里需要添增强制80端口的跳转。 第四、阻拦无用的蜘蛛爬取 RewriteEngineOn RewriteCond%{HTTP_USER_AGENT}(^$|FeedDemon|JikeSpider|IndyLibrary|AlexaToolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|MicrosoftURLControl|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReportsBot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms)[NC] RewriteRule^(.*)$-[F] 对于这点也能够在robots里完成,能够参考:robots.txt是什么,怎样写? 第五、强制/斜杠末端门路 RewriteEngineOn RewriteCond%{REQUEST_URI}/+[^.]+$ RewriteRule^(.+[^/])$%{REQUEST_URI}/[R=301,L] 有的网站请求每一个目录的末端都用斜杠封住, 比如我的博客里的搜索引擎优化基础栏目,网址是如许的: 那末如果我想让它强制变成: 只要把这个写法复制到htacess文件里就好了。 第六、撤销/斜杠末端 RewriteEngineOn RewriteCond%{REQUEST_FILENAME}!-d RewriteRule^(.*)/$/$1[R=301,L] 有强制加之就有强制下掉,所以这个规则就出来了。 第七、将目录下的文章页面,所有放在www主域名下 RewriteEngineOn Redirect301://www.yunkeseo.com/a.html 这点便是咱们常说的镌汰目录层级,镌汰让爬虫爬取的目录层级。 第八、绑定二级域名 RewriteEngineOn RewriteCond%{HTTP_HOST}^m.yunkeseo.com$[NC] RewriteCond%{REQUEST_URI}!^/m/ RewriteRule^(.*)$m/$1?Rewrite[L,QSA] 比如我要做挪移站,让m.yunkeseo.com会面m目录下的内容,那末我就行需要绑定m.yunkeseo.com到子目录m 第八、阻拦某个IP会面 RewriteEngineOn Orderdeny,allow Allowfromall Denyfromxxx.xxx.xxx.xxx 第九、压迫图片盗链 RewriteEngineon RewriteCond%{HTTP_REFERER}!^$ RewriteCond%{HTTP_REFERER}!^http(s)?://(.+.)?yunkeseo.com[NC] RewriteRule.(jpg|jpeg|png|gif|bmp)$-[NC,F,L] 那些盗用了你的内容,还不愿意自身存储图片的网站是无耻的,你能够经由过程这个配置来贯注他人盗用你的图片了。 htacess文件的用法尚有许多,今后我碰到了另外优化需要再补充进去,如果你对htacess文件有甚么标题,能够在评述区留言,我会及时答复你。 |