TypeCodes

网站的robots和.htaccess应该如何写

首先,我们了解一下robots和.htacces这两个文件是什么:①robots即文件robots.txt,存放位置为网站的根目录。它是搜索引擎中访问网站的时候要查看的第一个文件。robots.txt文件告诉蜘蛛程序在服务器上什么文件是可以被查看并收录的,而什么文件又是不能让这些搜索引擎查看和收录的。因为一旦一些服务器上的重要文件目录或者文件被别有用心的人搜索到的话,会构成网站安全的巨大威胁。所以有必要写好网站的robots。②.htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户(ip)或者目录的访问、禁止目录列表、配置默认文档等功能。

其次,分别了解robots和.htacces的具体写法:

一、robots.txt文件:

User-agent: *       //针对所有的搜索引擎,把*符号改成Googlebotgoogle蜘蛛)或者Baiduspider(百度蜘蛛)等
Disallow: /*?*      //禁止访问网站中所有的动态页面
Disallow: /wp-*     //禁止引擎蜘蛛爬行任何以 wp- 形式命名的目录下面的目录或者文件
Disallow: /wp-admin
Disallow: /?s*
Disallow: /*.gif$       //不允许抓取网页中存放的gif格式的图片
Disallow: /*.png$
Disallow: /*.bmp$
Disallow: /*.swf$

网站的robots.txt文件只要列出不允许(Disallow)被搜索引擎访问的内容即可,未列出的会被自动视为可以(Allow)访问并收录的内容。

二、htaccess文件:

# BEGIN WordPress
<ifmodule mod_rewrite.c>
#重定向index.php到主域名
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

#阻止没有referrer requests的评论减少垃圾评论
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post.php*
RewriteCond %{HTTP_REFERER} !.*xxx.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

#保护wp-config文件(自动跳转到404.php)
<files wp-config.php>
order allow,deny
deny from all
</files>

#保护.htaccess文件(自动跳转到404.php)
<files .htaccess>
order allow,deny
deny from all
</files>

#设置缓存
FileETag MTime Size
ExpiresActive on
ExpiresDefault "access plus 1 year"

#开启gzip
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

# 禁止列出目录(跳到404.php)
Options All -Indexes

#禁止某个ip访问整个网站(服务器500错误)
#order allow,deny
#deny from 123.123.123.123
#deny from 456.456.456.*
#deny from 789.789.*.*
#allow from all

</ifmodule>

END WordPress

这个也是wordpress中.htaccess文件的具体代码。具体的代码功能在上面已经通过#注释了。我想说明的是:①禁止列出目录是很重要的,比如针对博客类的网站,你可以通过访问http://网站域名/wp-admin/images/来查看网站的目录安全性。解决方法有两种,一种是使用上面的代码,另一种是在 images文件夹的目录下放置一个index.php或者index.htm文件(内容可以不填)。②设置网站的防盗链也是很有必要的,具体代码如下:

RewriteBase /wp-content/uploads/
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !sina.com.cn [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !qq.com [NC]
RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
RewriteCond %{HTTP_REFERER} !xianguo.com [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !yahoo.com [NC]
RewriteRule .*\.(gif|jpg|jpeg|png|bmp|zip|rar|7z|swf|mp3)$ http://vfhky.sinaapp.com/error.png [NC,L]

其中,第一行 RewriteBase /wp-content/uploads/ 表示该目录下的文件是禁止盗链的。即如果uploads目录是你上传文件图片视频音乐等文件的地方,一般盗链耗流量的大户都在这里;第二行 RewriteCond %{HTTP_REFERER} !^$ [NC] 表示如果是用户直接访问你的图片则正常显示图片;另外,像 RewriteCond %{HTTP_REFERER} !royaso.com [NC] 这样的代码表示允许像百度、谷歌、qq之类的“盗链”,也显示正常的图片;倒数第二行 RewriteRule .*.(gif|jpg|jpeg|png|bmp|zip|rar|7z|swf|mp3)$ 表示设置防盗链的文件类型:图片、压缩文件、视频、音乐;最后一行代码表示如果不是上述的几种情况,那么将会被视为盗链,盗链后显示的图片为fangdaolian.png。

打赏支持

Comments »