【搜狗站长平台】.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文件有什么问题,可以在评论区留言,我会及时回复你。