域名跳转
[root@localhost extra]# vim httpd-vhosts.conf
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/usr/local/apache2.4/docs/111.com"
ServerName www.111.com
ServerAlias 111.com
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^111.com$
RewriteRule ^/(.*)$ http://111.com/$1 [R=301,L]
</IfModule>
# <Directory /usr/local/apache2.4/docs/abc.com>
# AllowOverride AuthConfig
# AuthName "abc.com user auth"
# AuthType Basic
# AuthUserFile /usr/local/apache2.4/docs/.htpasswd
# require valid-user
# </Directory>
ErrorLog "logs/abc.com-error_log"
CustomLog "logs/abc.com-access_log" common
</VirtualHost
[root@localhost extra]# mkdir -p /usr/local/apache2.4/docs/www.111.com
[root@localhost extra]# cd /usr/local/apache2.4/docs/www.111.com
[root@localhost www.111.com]# ls
[root@localhost www.111.com]# vim index.html
www.111.com
[root@localhost www.111.com]# vim 123.php
<?php
echo "www.111.com/123.php";
?>
[root@localhost www.111.com]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@localhost www.111.com]# /usr/local/apache2.4/bin/apachectl graceful
[root@localhost extra]# /usr/local/apache2.4/bin/apachectl -M | grep rewrite
[root@localhost extra]# vim /usr/local/apache2.4/conf/httpd.conf
解开注释
[root@localhost extra]# /usr/local/apache2.4/bin/apachectl -M | grep rewrite
rewrite_module (shared)
访问日志不记录静态文件
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 "logs/www.111.com-access_log" combined env=!img
ErrorLog "logs/111.com-error_log"
[root@localhost apache2.4]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@localhost apache2.4]# /usr/local/apache2.4/bin/apachectl graceful
[root@localhost apache2.4]# curl -xlocalhost:80 -I 111.com
HTTP/1.1 200 OK
Date: Sat, 08 Aug 2020 08:13:34 GMT
Server: Apache/2.4.39 (Unix) PHP/5.6.30
Last-Modified: Fri, 07 Aug 2020 09:33:50 GMT
ETag: "c-5ac464d6a5807"
Accept-Ranges: bytes
Content-Length: 12
Content-Type: text/html
[root@localhost apache2.4]# cd docs/
[root@localhost docs]# ls
abc.com www.111.com
[root@localhost docs]# cd www.111.com/
[root@localhost www.111.com]# mkdir images
[root@localhost www.111.com]# ls
php images index.html
[root@localhost images]# ls
Linux.png
[root@localhost images]# curl -xlocalhost:80 -I 111.com/images/Linux.png -I
HTTP/1.1 200 OK
Date: Sat, 08 Aug 2020 08:21:11 GMT
Server: Apache/2.4.39 (Unix) PHP/5.6.30
Last-Modified: Sat, 08 Aug 2020 08:15:55 GMT
ETag: "1000-5ac59549a04c0"
Accept-Ranges: bytes
Content-Length: 4096
Content-Type: image/png
访问日志切割
[root@localhost apache2.4]# vim conf/extra/httpd-vhosts.conf
[root@localhost apache2.4]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@localhost apache2.4]# /usr/local/apache2.4/bin/apachectl graceful
静态元素过期时间
[root@localhost apache2.4]# vim conf/extra/httpd-vhosts.conf
<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 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>
[root@localhost apache2.4]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@localhost apache2.4]# /usr/local/apache2.4/bin/apachectl graceful
[root@localhost apache2.4]# /usr/local/apache2.4/bin/apachectl -M |grep -i expires
[root@localhost apache2.4]#
[root@localhost extra]# vim /usr/local/apache2.4/conf/httpd.conf
配置防盗链
[root@localhost extra]# pwd
/usr/local/apache2.4/conf/extra
[root@localhost extra]# vim httpd-vhosts.conf
<Directory /data/wwwroot/testdomain.com>
SetEnvIfNoCase Referer "http://www.testdomain.com" local_ref
SetEnvIfNoCase Referer "http://testdomain.com" local_ref
SetEnvIfNoCase Referer "^$" local ref
<filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif)">
Order Allow,Deny
Allow from env=local_ref
</filesmatch>
</Directory>
[root@localhost extra]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@localhost extra]# /usr/local/apache2.4/bin/apachectl graceful