【搜狗站长平台】.htacess(301、封禁、防盗链)写法大全

阅读  ·  发布日期 2018-10-04 15:13  ·  admin

 【搜狗站长平台】.htacess(301、封禁、防盗链)写法大全

 

  息心在操盘网站的时候,因为要做集权优化所以经常会遇到301的问题,这些问题里服务器和空间可以解决一部分的301跳转问题,但是随着网站的发展,需求逐渐多样化,这个时候就不得不用网站中的htacess文件来解决301的问题了。今天我在优化网站的时候也遇到了,所以干脆出一套写法大全,记录在这里,方便自己和读者随时浏览。

 

  .htacess文件常用seo写法大全_301/封禁/防盗链

 

  阅读之前,需要明确一件事,就是网站搭建的环境分为:Nginx和Apache。在虚拟主机中,我们基本上都是Apache环境,所以本文也是默认认为你的网站属于Apache环境。因为htacess文件只会在Apache环境中生效。下面我们开始,如果你要使用其中的某个写法,只需要全部复制,然后把yunkeseo.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]

 

  有的网站要求每个目录的结尾都用斜杠封住,

 

  比如我的博客里的SEO基础栏目,网址是这样的:

 

  那么如果我想让它强制变成:

 

  只需把这个写法复制到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文件有什么问题,可以在评论区留言,我会及时回复你。