首页 >  站长资讯

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

发布日期: 2020-01-09

  【搜狗站长平台】.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^(.*)$http://www.yunkeseo.com/$1[L,R=301,NC]

  我们将域名替换成自己的域名即可实现非WWW跳转到WWW域名,同时这点绝大部分虚拟主机就可以实现

  第二、强制www.yunkeseo.com/index.html和yunkeseo.com/index.html301重定向到www.yunkeseo.com

  RewriteCond%{http_host}^(www/.)?yunkeseo/.com$[NC]

  RewriteCond%{request_uri}^/index.html$[NC]

  RewriteRule^(.*)$http://www.yunkeseo.com/[L,R=301]

  我们在优化网站的时候经常会遇到尾巴带有index.html的可以访问主页,不带这个尾巴的也可以访问主页,这对于网站集权是不利的,正确的做法是把带有尾巴index.html的网址301到不带尾巴上去,同时考虑了不带www的带尾巴index.html的网址也可以正常访问主页,所以我这里把它们写成一条规则,让它们都301到带www的网址上。

  结合第一点,我们的网站首页集权操作基本上就搞定了,总结下来就是:

  yunkeseo.com301www.yunkeseo.com

  yunkeseo.com/index.html301www.yunkeseo.com

  www.yunkeseo.com/index.html301www.yunkeseo.com

  这三类同时重定向到www.yunkeseo.com,依此实现首页的集权。

  第三、强制https跳转地址

  RewriteEngineOn

  RewriteCond%{SERVER_PORT}80

  RewriteRule^(.*)$http://www.yunkeseo.com/$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基础栏目,网址是这样的:www.yunkeseo.com/jichu

  那么如果我想让它强制变成:www.yunkeseo.com/jichu/

  只需把这个写法复制到htacess文件里就行了。

  第六、取消/斜杠结尾

  RewriteEngineOn

  RewriteCond%{REQUEST_FILENAME}!-d

  RewriteRule^(.*)/$/$1[R=301,L]

  有强制加上就有强制下掉,所以这个规则就出来了。

  第七、将目录下的文章页面,全部放在www主域名下

  RewriteEngineOn

  Redirect301http://www.yunkeseo.com/jichu/a.htmlhttp://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文件有什么问题,可以在评论区留言,我会及时回复你。