apache虚拟主机的配置
首先在httpd.conf中把include conf/httpd-vhost.conf前面的 # 号去掉,引入httpd-vhost.conf文件
<VirtualHost *:80>
DocumentRoot "/usr/local/data/www"
ServerName www.111.com
ServerAlias www.222.com
#ErrorLog "logs/dummy-host.example.com-error_log"
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_URL ".*\.js$" image-request
SetEnvIf request_URI ".*\.css$" image-request
CustomLog "|/usr/local/apache/bin/rotatelogs -l /tmp/access_%Y%m%d.log 86400"
lin env=!image-request
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.222.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.333.com$
RewriteRule ^/(.*)$ http://www.111.com/$1 [R=301,L]
</IfModule>
<Directory /usr/local/data/www>
AllowOverride AuthConfig
AuthName '123'
AuthType Basic
AuthUserFile /usr/local/data/.htpasswd
require valid-user
</Directory>
</VirtualHost>
虚拟主机的基本配置
在<VirtualHost*:80></VirtualHost>标签中,DocumentRoot “xxxxxxxxxxxx” 是配置网站所在的目录
ServerName 是配置主机名
ServerAlias 是配置主机别名
ErrorLog 是配置错误日志
CostomLog 是配置访问日志
配置虚拟主机的访问权限
<Directory /usr/local/data/www> --对哪个目录设置访问权限
AllowOverride AuthConfig --使用 .htpasswd文件
AuthName '123' --设置认证的领域
AuthType Basic --用户认证的方法
AuthUserFile /usr/local/data/.htpasswd -- 设置.htpasswd文件所在的位置
require valid-user --设置访问的用户
</Directory>
配置虚拟主机域名转跳
<IfModule mod_rewrite.c> --mod_rewrite.c模块
RewriteEngine on --使用域名转跳
RewriteCond %{HTTP_HOST} ^www.222.com$ [OR] --转跳的条件
RewriteCond %{HTTP_HOST} ^www.333.com$ -
RewriteRule ^/(.*)$ http://www.111.com/$1 [R=301,L] --转跳的结果
</IfModule>
配置虚拟主机的访问日志
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_URL ".*\.js$" image-request
SetEnvIf request_URI ".*\.css$" image-request --把以上的内容归为一组
CustomLog "|/usr/local/apache/bin/rotatelogs -l /tmp/access_%Y%m%d.log 86400" --日志切割,按天划分日志
lin env=!image-request --日志中入会记录image-request中的内容
配置虚拟主机的文件缓存时间
<IfModule mod_expires.c>
ExpiresActive on --开启文件缓存
ExpiresByType image/gif "access plus 1 days" --设置gif格式的文件的缓存时间为1天
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/x-shockwave-flash "now plus 2 hours"
ExpiresDefault "now plus 0 min"
</IfModule>