# 預設虛拟主機
<VirtualHost *:80>
DocumentRoot "/tmp/123"## 目錄“/tmp/123”需要提前建立,并賦予600的權限
ServerName 333.com
</VirtualHost>
# Discuz配置
DocumentRoot "/data/www"
ServerName www.111.com
ServerAlias www.222.com
php_admin_value open_basedir "/data/www/:/tmp/ ## 區分不同虛拟機,限制多個
# Apache通路控制
<Directory "/data/www">
AllowOverride None
Options None
Order allow,deny
Allow from all
Deny from 127.0.0.1
</Directory>
# 根據“admin.php”來做個白名單
<filesmatch "(.*)admin(.*)">
Order deny,allow
Deny from all
Allow from 127.0.0.1
</filesmatch>
ErrorLog "111.com-error_log"
# 不記錄指定檔案日志
SetEnvIf Resquest_URI ".*\.gif$" image-request
SetEnvIf Resquest_URI ".*\.jpg$" image-request
SetEnvIf Resquest_URI ".*\.png$" image-request
SetEnvIf Resquest_URI ".*\.bmp$" image-request
SetEnvIf Resquest_URI ".*\.swf$" image-request
SetEnvIf Resquest_URI ".*\.js$" image-request
SetEnvIf Resquest_URI ".*\.css$" image-request
# 日志切割(目錄在/usr/local/apache2/logs下)
CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/111.com-access_Y%m%d%_log 86400" combined env=!image-request
# 配置靜态緩存
<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 test/css "now plus 2 hour"
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 "^http://.*\.111\.com" local_ref
SetEnvIfNoCase Referer ".*\.222\.com" local_ref
<filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif|png|js|css)">
Order Allow,Deny
Allow from env=local_ref
# Apache禁止解析php
<Directory /data/www/data>
php_admin_flag engine off
<filesmatch "(.*)php">
Order deny,allow
Deny from all
# 域名301跳轉
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.222.com$
RewriteRule ^/(.*)$ http://www.111.com/$1 [R=301,L]
# 禁止指定user_agent
RewriteCond %{HTTP_USER_AGENT} ^.*curl.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*chrome* [NC]
RewriteRule .* - [F]
# 禁止通過浏覽器通路某個目錄
RewriteCond %{REQUEST_URI} ^.*/tmp/.* [NC]
# 使用者認證
<Directory /data/www/abc/>
AllowOverride AuthConfig
AuthName "yonghuming"
AuthType Basic
AuthUserFile /data/.htpasswd ## htpasswd -c /data/.htpasswd user1 這個在配置完别忘了建立
require valid-user
本文轉自 聽丶飛鳥說 51CTO部落格,原文連結:http://blog.51cto.com/286577399/1673211