网站优化

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

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

第一、强制www域名301跳转

RewriteEngine on

RewriteCond %{HTTP_HOST} ^kehu56.com\.com [NC]

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

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

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

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

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

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

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

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

kehu56.com 301 www.kehu56.com

kehu56.com/index.html 301 www.kehu56.com

www.kehu56.com/index.html 301 www.kehu56.com

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

第三、强制https跳转地址

RewriteEngine On

RewriteCond %{SERVER_PORT} 80

RewriteRule ^(.*)$ http://www.kehu56.com/$1 [R,L]

如果我们网站采用SSL证书,则一般需要强制跳转https路径,这里需要添加强制80端口的跳转。

第四、阻止无用的蜘蛛爬取

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} (^$|FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms) [NC]

RewriteRule ^(.*)$ – [F]

关于这点也可以在robots里实现,可以参考:robots.txt是什么,如何写?

第五、强制/斜杠结尾路径

RewriteEngine On

RewriteCond %{REQUEST_URI} /+[^\.]+$

RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

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

比如我的博客里的SEO基础栏目,网址是这样的:www.kehu56.com/jichu

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

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

第六、取消/斜杠结尾

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d

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

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

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

RewriteEngine On

Redirect 301 http://www.kehu56.com/jichu/a.html http://www.kehu56.com/a.html

这点就是我们常说的减少目录层级,减少让爬虫爬取的目录层级。

第八、绑定二级域名

RewriteEngine On

RewriteCond %{HTTP_HOST} ^m\.kehu56\.com$ [NC]

RewriteCond %{REQUEST_URI} !^/m/

RewriteRule ^(.*)$ m/$1?Rewrite [L,QSA]

比如我要做移动站,让m.kehu56.com访问m目录下的内容,那么我就行需要绑定m.kehu56.com到子目录m

第八、阻止某个IP访问

RewriteEngine On

Order deny,allow

Allow from all

Deny from xxx.xxx.xxx.xxx

第九、禁止图片盗链

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http(s)?://(.+\.)?kehu56.com [NC]

RewriteRule \.(jpg|jpeg|png|gif|bmp)$ – [NC,F,L]

那些盗用了你的内容,还不愿意自己存储图片的网站是无耻的,你可以通过这个配置来防止别人盗用你的图片了。

htacess文件的用法还有很多,以后我遇到了别的优化需求再补充出来,如果你对htacess文件有什么问题,可以联系我们

相关文章