默认虚拟主机
<VirtualHost *:80>
DocumentRoot "/tmp/tmp/"
ServerName 123.com
<Directory /tmp/tmp/>
Order allow,deny
Deny from all
</Directory>
</VirtualHost>
这才是discuz主机
<VirtualHost *:80>
DocumentRoot "/data/www/"
ServerName www.discuz.com
ServerAlias www.111.com
日志切割
原理:日志切割主要是用
"/usr/local/apache2/bin/rotatelogs -l filename time"
这条命令实现的,记录日志时可以过滤掉某些信息(正则)
ErrorLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/error_%Y%m%d_log 86400"
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
CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/access_%Y%m%d_log 86400" combined env=!image-request
301跳转
301很简单,就是下面这种格式,使用rewrite模块,满足条件的都跳转到www.discuz.com
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.111.com$
RewriteRule ^/(.*)$ http://www.discuz.com/$1 [R=301,L]
</IfModule>
用户认证
这个也是固定格式的,需要注意的是账号密码是用htpasswd这条命令生成文件
“htpasswd -b /data/.htpasswd user passwd”
<Directory /data/www/abc>
AllowOverride AuthConfig
AuthName "admin"
AuthType Basic
AuthUserFile /data/.htpasswd
require valid-user
</Directory>
静态缓存
这个直接复制代码段就行
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/gif "access plus 1 hour"
ExpiresByType image/jpeg "access plus 24 hours"
ExpiresByType image/png "access plus 24 hours"
ExpiresByType text/css "now plus 2 hour"
ExpiresByType application/x-javascript "now plus 2 hours"
ExpiresByType application/javascript "now plus 2 hours"
ExpiresByType application/x-shockwave-flash "now plus 2 hours"
ExpiresDefault "now plus 0 min"
</IfModule>
配置防盗链
这个没什么难度,套代码
SetEnvIfNoCase Referer ".*\.discuz\.com" local_ref
<filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif|png)">
Order Allow,Deny
Allow from env=local_ref
</filesmatch>
<Directory /data/www/index.php>
Order allow,deny
Allow from all
</Directory>
禁止解析php
首先关闭engine,然后还要禁止访问,不然浏览器会下载代码。
<Directory /data/www/data>
php_admin_flag engine off
<filesmatch ".*php">
Order deny,allow
Deny from all
</filesmatch>
</Directory>
</VirtualHost>