【搜狗站長平臺】.htacess(301、封禁、防盜鏈)寫法大全

1.jpg

  息心在操盤網站的時候,因為要做集權優(yōu)化所以經常會遇到301的問題,這些問題里服務器和空間可以解決一部分的301跳轉問題,但是隨著網站的發(fā)展,需求逐漸多樣化,這個時候就不得不用網站中的htacess文件來解決301的問題了。今天我在優(yōu)化網站的時候也遇到了,所以干脆出一套寫法大全,記錄在這里,方便自己和讀者隨時瀏覽。


  .htacess文件常用seo寫法大全_301/封禁/防盜鏈


  閱讀之前,需要明確一件事,就是網站搭建的環(huán)境分為:Nginx和Apache。在虛擬主機中,我們基本上都是Apache環(huán)境,所以本文也是默認認為你的網站屬于Apache環(huán)境。因為htacess文件只會在Apache環(huán)境中生效。下面我們開始,如果你要使用其中的某個寫法,只需要全部復制,然后把yunkeseo.com換成你的域名就行。


  第一、強制www域名301跳轉


  RewriteEngineon


  RewriteCond%{HTTP_HOST}^yunkeseo.com[NC]


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


  我們將域名替換成自己的域名即可實現(xiàn)非WWW跳轉到WWW域名,同時這點絕大部分虛擬主機就可以實現(xiàn)


  第二、強制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]


  我們在優(yōu)化網站的時候經常會遇到尾巴帶有index.html的可以訪問主頁,不帶這個尾巴的也可以訪問主頁,這對于網站集權是不利的,正確的做法是把帶有尾巴index.html的網址301到不帶尾巴上去,同時考慮了不帶www的帶尾巴index.html的網址也可以正常訪問主頁,所以我這里把它們寫成一條規(guī)則,讓它們都301到帶www的網址上。


  結合第一點,我們的網站首頁集權操作基本上就搞定了,總結下來就是:


  yunkeseo.com301www.yunkeseo.com


  yunkeseo.com/index.html301www.yunkeseo.com


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


  這三類同時重定向到www.yunkeseo.com,依此實現(xiàn)首頁的集權。


  第三、強制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里實現(xiàn),可以參考: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]


  有強制加上就有強制下掉,所以這個規(guī)則就出來了。


  第七、將目錄下的文章頁面,全部放在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文件的用法還有很多,以后我遇到了別的優(yōu)化需求再補充出來,如果你對htacess文件有什么問題,可以在評論區(qū)留言,我會及時回復你。