1 、设置环境变量
在apache里面,你可以用正则来判断很多变量,然后设定另外一个变量以便后面的配置使用
序列号 | CPU | RAM | HDD | 带宽 | 售价(美元) | 免费试用 |
---|---|---|---|---|---|---|
香港服务器1 | E5-2620 | 32G | 1T HDD | 50M/无限流量 | $196.00 | 立即申请 |
香港服务器2 | E5-2650 | 32G | 1T HDD | 50M/无限流量 | $256.00 | 立即申请 |
香港服务器3 | E5-2680 | 32G | 1T HDD | 50M/无限流量 | $316.00 | 立即申请 |
香港服务器4 | E5-2690 | 32G | 1T HDD | 50M/无限流量 | $336.00 | 立即申请 |
香港服务器5 | E5-2697 | 32G | 1T HDD | 50M/无限流量 | $376.00 | 立即申请 |
香港服务器6 | E5-2620*2 | 32G | 1T HDD | 50M/无限流量 | $376.00 | 立即申请 |
香港服务器7 | E5-2650*2 | 32G | 1T HDD | 50M/无限流量 | $436.00 | 立即申请 |
香港服务器8 | E5-2680*2 | 32G | 1T HDD | 50M/无限流量 | $476.00 | 立即申请 |
香港服务器9 | E5-2690*2 | 32G | 1T HDD | 50M/无限流量 | $556.00 | 立即申请 |
香港服务器10 | E5-2697*2 | 32G | 1T HDD | 50M/无限流量 | $596.00 | 立即申请 |
香港服务器11 | E5-2680v4*2 | 32G | 1T HDD | 50M/无限流量 | $696.00 | 立即申请 |
香港服务器12 | E5-2698v4*2 | 32G | 1T HDD | 50M/无限流量 | $796.00 | 立即申请 |
比如你要判断用户是否访问某个文件夹,然后设定一个变量记录一下:
SetEnvIfNoCase Request_URI "^/aslibra"ISSTART=1
SetEnvIfNoCase是指不区分大小写
Request_URI 匹配一下 "^/aslibra"
如果是的话,那ISSTART=1 ,否则就不是1
另外,不记录图片的日志可以是找一下文件路径,然后设定变量供后面使用:
SetEnv NOFILES 1
CustomLog logs/access_log combined env=!NOFILES
2 、处理盗链
处理盗链一般是在referrer上做判断,见下面这个例子:
SetEnvIfNoCase Referer"^http://www.aslibra.com/" local_ref=1
Order Allow ,Deny
Allow from env=local_ref
Allow from 127.0.0.1
上面是判断来源是上面域名,然后设定为允许访问
SetEnvIfNoCase Referer"^http://notpermit.aslibra.com/" aaa
Order Allow ,Deny
Allow from all
Deny from env=aaa
上面是判断来源,然后不允许该域名
3 、日志分割
日志分割可以使用 cronolog 来处理
安装就比较容易了,跟一般软件一样安装
定义格式:
LogFormat "%h %l %u %t "%r" %>s %b"%{Referer}i" "%{User-Agent}i""combined
LogFormat "%h %l %u %t "%r" %>s %b"common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
LogFormat "%h %{%T}t "%r" %{cookiename}C"record
上面是定义日志格式,你可以定义很多日志格式,以便后面的记录日志使用
比如普通的是combined,有一般要采集的内容,如果要采集cookie(%{cookiename}C)和自定义时间格式(%{%T}t),可以使用上面类似record的写法
CustomLog "|/Data/apps/cronolog/sbin/cronolog/Data/weblog/%Y/%m/%d/www.aslibra.com.%m%d%H"record
CustomLog "|/Data/apps/cronolog/sbin/cronolog/Data/weblog/%Y/%m/%d/aslibra.com.%m%d%H"combined
以上的例子就是调用cronolog存储日志,后面的参数是自己定义的日志格式
当然,你还可以自定义记录很多条件的日志,比如仅仅要记录 /aslibra开始的请求:
SetEnvIfNoCase Request_URI "^/aslibra"ISSTART=1
CustomLog "|/Data/apps/cronolog/sbin/cronolog/Data/weblog/%Y/%m/%d/aslibra.com.%m%d%H"record env=ISSTART
可以几个CustomLog 一起记录的,以此类推就好了。