设置默认目录
<virtualhost *:80>documentroot 网站目录servername www.cisco.com设置主目录</virtualhost><virtualhost *:80>documentroot /data/wwwservername www.bt.comserveralias www.btt.com日志的分类割接customlog "|/usr/local/apache/bin/rotatelogs -l /usr/local/apache/logs/test_access_%Y%m%d.log 86400" combined env=!p_w_picpath-request指定日志不记录文件的类型 以防止日志数据库记录不必要的东西setenvif request_uri ".*\.gif$" p_w_picpath-requestsetenvif request_uri ".*\.jpg$" p_w_picpath-requestsetenvif request_uri ".*\.swf$" p_w_picpath-requestsetenvif request_uri ".*\.js$" p_w_picpath-requestsetenvif request_uri ".*\.css$" p_w_picpath-requestsetenvif request_uri ".*\.png$" p_w_picpath-requestsetenvif request_uri ".*\.bmp$" p_w_picpath-request域名跳转<ifmodule mod_rewrite.c>rewriteengine onrewritecond %{http_host} ^www.btt.com$rewirterule ^/(.*)$ http://www.bt.com/$1 [r=301,l]通过user-agent来现在某一些不需要的爬虫浏览器访问rewritecond %{http_user_agent} ".*curl.*" [nc,or] 不区分大小写rewritecond %{http_user_agent} ".*chrome.*"rewriterule .* - [F] (rewritecond %{request_uri}!^/404* rewriterule .* /404.html)通过对目录下的多个东西进行访问限制rewritecond %{request_uri} ".*/mmm/.*" [nc]rewriterule .* - [F]</ifmodule>用于静态缓存的时间<ifmodule mod_expires.c>expiresactive onexpiresbytype p_w_picpath/gif "access plus 1 days"expiresbytype p_w_picpath/jpeg "access plus 1 days"expiresbytype p_w_picpath/png "access plus 1 days"expiresbytype text/css "now plus 2 days"expiresbytype application/x-javascript "now plus 2 days"expiresbytype application/x-shock-wave "now plus 2 days"expiresdefault "now plus 0 min"</ifmodule>防止图片盗用连接setenvifnocase referer "^http://.*\btt\.com" local_refsetenvifnocase referer ".*\.bt\.com" local_ref<filesmatch "\.(jpg|gif|jpeg|swf|doc|png|bmp|css|js|mp3|zip)">order allow,denyallow from env=local_ref</filesmatch>通过浏览器中的uri来现在对某个比较重要的页面进行访问限制<filesmatch "(.*)admin(.*)">order allow,denyallow from 127.0.0.1</filesmatch>对某个比较重要的目录进行加密访问<directory /data/www/mmm>allowoverride authconfigauthtype basicauthname ciscofileusername /tmp/p.psrequest valid-user</directory>目录的访问控制</directory /data/www/mmm>order allow,denyallow from ip</directory>目录禁止php解析<directory /data/www/mmm>php_admin_flag engine off<filesmatch "(.*)php">order deny,allowdeny from allallow 127.0.0.1</filesmatch></directory></virtualhost>通过apache来对rewrite防止死循环我的一条规则RewriteRule ^(.*) /111/$1 [R,L]复制代码使用curl测试,没有问题,但是使用浏览器访问时,出现了无限循环。 本来访问的是 www.111.com 结果变成了 www.111.com/111/111/111/..... 虽然在最后加了 [L] 依然不管用,可能apache还是不够智能,一直满足条件就一直去匹配,一直去跳转。最后没招了只能再加一个条件。01.RewriteCond %{REQUEST_URI} !^/111
02.RewriteRule ^(.*) /111/$1 [R,L]
复制代码这样就不再循环了。