apache 常用配置及解析

<VirtualHost *:80>
    DocumentRoot "/data/www"
    ServerName www.123.com

    #不记录指定文件的日志 --还要加上env
    #SetEnvIf根据请求的属性设置环境变量
    SetEnvIf Request_URI ".*\.gif$" image-request
    SetEnvIf Request_URI ".*\.jpg$" image-request
    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

	#日志设置 (combined合并日志格式)
	ErrorLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/aaa-error_%Y%m%d.log 86400"
	CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/aaa-access_%Y%m%d.log 86400"combined env=!image-request

	#301跳转
	<IfModule mod_rewrite.c>
	     RewriteEngine on # 重定向引擎打开
	     #进入下列网站     
	     RewriteCond %{HTTP_HOST} ^www.tiaozhuan.com [OR]
	     RewriteCond %{HTTP_HOST} ^www.test.com$
	     #都跳转到www.123.com
	     RewriteRule ^/(.*)$ http://www.123.com/$1 [R=301,L]
	     
		 #禁止user_agent NC为不区分大小写 OR代表二者取一 全部都取就不要OR Rule为规则-F所有访问拒绝
	     RewriteCond %(HTTP_USER_AGENT} ^Mozilla/5.* [NC]
	     RewriteCond %(HTTP_USER_AGENT} ^.*chrome* [NC]
	     RewriteRule .* - [F]
	     
		 #限制某一个目录不让用户访问,也可利用deny和allow进行限制     
	     RewriteCond %{REQUEST_URI} ^.*/tmp/.* [NC]
	     RewriteRule .* - [F]
	</IfModule>

	#静态缓存
	#1.mod_expires.c
	<IfModule mod_expires.c>
		ExpiresActive on # 启用Expires 头文件的生成
		# ExpiresDefault文档过期时间设置,ExpiresByType根据MIME类型调整过期时间
		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-javacript "now plus 2 hours"
		ExpiresByType application/javascript "now plus 2 hours"
		ExpiresByType application/x-shockwave-flash "now plus 2 hours"
		ExpiresDefault "now plus 2 hours"
    </IfModule>
    
	#访问控制
	<Directory /data/www/>
	   # deny,allow执行顺序
	   Order deny,allow
	   Deny from all
	   Allow from 127.0.0.1
	</Directory>

	#针对请求的URI限制
	#<filesmatch "(.*)admin(.*)">
	#   Order deny,allow
	#   Deny from all
	#   Allow from 127.0.0.1
	#</filesmatch>

	#全部PASS
	#<Directory>
	#Order deny,allow
	
	#全部NOT PASS
	#<Directory>
	#Order allow,deny

	#针对网站的用户上传的文件进行限制php解析
	<Directory /data/www/data>
	        php_admin_flag engine off #限定某个目录禁止解析PHP
	        <filesmatch "(.*)php">
		        Order deny,allow
		        Deny from all
		        Allow from 127.0.0.1
	        </filesmatch>
	</Directory>

	#防盗链
	# RefererHTTP Referer是header的一部分,告诉服务器我是从哪个页面链接过来的,从地址栏里面直接输入 URL 或者是刷新网页的方式,则 referer = null
	SetEnvIfNoCase Referer "^htt://.*\baidu\.com" local_ref
    SetEnvIfNoCase Referer "^htt://.*\sohu\.com" local_ref
    SetEnvIfNoCase Referer "^$" local_ref # 直接通过地址访问,允许不发送引用信息的浏览器
	<filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif|png)">
	    Order Allow,Deny
	    Allow from env=local_ref
	</filesmatch>
</VirtualHost>

参考链接:

配置内容参考链接
Apache2.4官方文档
Apache2.2译本
apache2.2译本

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值