CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/test.com-access_%Y%m%d_log 86400" combined #%Y%m%d规定年月日; 86400秒即为一天切割。
2.不记录指定文件类型的日志
ErrorLog "logs/test.com-error_log"
SetEnvIf Request_URI ".*\.gif$" image-request #对gif文件做一个标记 image-request,也可以写成abc
SetEnvIf Request_URI ".*\.jpg$" image-request #setenvif要和customlog写在一起
SetEnvIf Request_URI ".*\.png$" image-request
SetEnvIf Request_URI ".*\.bmp$" image-request
SetEnvIf Request_URI ".*\.swf$" image-request
SetEnvIf Request_URI ".*\.js$" image-request
SetEnvIf Request_URI ".*\.css$" image-request
CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/test.com-access_%Y%m%d_log 86400" combined env=!image-request #不记录做过标记的文件
注意:SetEnvIf要和customlog写在一起,中间不要有分隔。
五、配置静态缓存
对于图片,html,css,Javascripts等,让客户端缓存,让访问时不需要去服务器上访问,提高用户体验,需要提前确认是否支持mod_expires.c模块
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/gif "access plus 1 days"
ExpiresByType image/jpeg "access plus 24 hours"
ExpiresByType image/png "access plus 24 hours"
ExpiresByType text/css "now plus 2 hours"
ExpiresByType application/x-javascript "now plus 2 hours"
ExpiresByType application/x-shockwave-flash "now plus 2 hours"
ExpiresDefault "now plus 0 min"
</IfModule>
六、配置防盗链
防止其他的网站大量使用自己网站里的一些图片,流量跑的是自己的网站,造成带宽的浪费。防止图片被盗用。
在虚拟主机的配置文件里加上:
SetEnvIfNoCase Referer "^*\.test\.com" local_ref #给网址做标注
<filesmatch "\.(txt|png|gif|doc|mp3|zip|rar|jpg|css|js)"> #规定一下哪些类型的文件
Order Allow,Deny #禁止引用
Allow from env=local_ref #允许local_ref引用
</filesmatch>
七、访问控制
我们可以针对某些目录进行访问控制,禁止一些IP地址的访问
<Directory "/data/www">
AllowOverride None
Options None
Order allow,deny
Allow from all
deny from 192.168.206.1 #该IP地址为禁止访问的ip地址
</Directory>
还有一种以URI做限制访问
<filesmatch "(.*)admin(.*)">
Order allow,deny
Allow from all
Deny from 192.168.206.1
</filesmatch>
所有uri中包括admin的都进行ip访问限制
八、apache禁止解析php
多用在在网络安全方面,比如:某些目录上传文件,避免上传的有木马,针对某些路径禁止解析php。
编辑虚拟主机的配置文件,加入:
<Directory /data/www/data> #对data目录进行php解析限制。
php_admin_flag engine off #将php解析引擎关闭
<filesmatch "(.*)php"> #匹配
Order deny,allow