小生博客:http://xsboke.blog.51cto.com
小生 Q Q:1770058260
-------谢谢您的参考,如有疑问,欢迎交流
一、 Apache日志分割
这里介绍两种分割方法:
Rotatelogs:每天建立一个新的日志文件
Cronolog:可以为每个虚拟主机创建一个文件,每天产生的日志文件统一存放在一个目录中,如果目录不存在则自动创建
1. 使用apache自带工具rotatelogs进行
修改主配置文件,将原有的日志选项修改即可
然后重启httpd服务即可
2. 使用第三方工具cronolog实现
首先安装cronolog工具
然后修改httpd.conf主配置文件
然后重启httpd服务即可
其他的配置例
每天一个文件夹,文件夹下每个小时产生一个log(文件夹不存在则自动创建)
CustomLog "|/usr/local/sbin/cronolog logs/%Y%m%d/access_log.%H" combined
按天轮询(生产环境常见用法,推荐使用):
CustomLog "|/usr/local/sbin/cronolog logs/access_www_%Y%m%d.log"combined
按小时轮询(生产环境较常见用法):
CustomLog "|/usr/local/sbin/cronolog logs/access_www_%Y%m%d%H.log" combined
二、 配置防盗链
有两种方式:
使用apache的rewrite模块实现:这个方法可以让盗链链接到自己指定的一个文件,巧妙利用这种方法,可以实现让盗链免费为自己打广告的目的
通过判断浏览器头信息来阻止某些请求,即利用SetEnvIfNoCase和access,这种方法将直接拒绝访问,而不是重定向到某个文件
1. 通过rewrite模块实现
修改httpd.conf主配置文件,首先启用rewrite模块,然后添加相关参数
添加相关参数
RewriteCond:指定条件
RewriteRule:匹配规则
[NC]:不区分大小写
[R]:强制重定向redirect
[L]:如果在规则的尾部加此参数,则代表这是最后一个规则,匹配到这里就停止
然后重启httpd服务即可
2. 通过判断浏览器头信息来阻止某些请求,即利用SetEnvIfNoCase和access。
此配置就是拒绝请求头部referer信息不匹配的请求
一样是修改主配置文件
Setenvifnocase referer:设置如果请求头部referer参数信息不匹配时
Local_ref:将条件赋予给这个变量
<filesmatch "\.(mp3|mp4|zip|rar|jpg|gif)"> </filesmatch>:设置当访问以这些为后缀的文件时的规则
Require all denied Requireenv local_ref:拒绝所有非变量local_ref条件的请求访问
最后重启服务即可
原文地址:http://xsboke.blog.51cto.com/12096269/1916418