静态文件缓存

需要使用mod_expires.so模块,打开Apache的httpd.conf文件,找到这一行#LoadModule expires_module modules/mod_expires.so,把前面的#删掉即可(别忘了重启apache)

LoadModule expires_module modules/mod_expires.so

1、打开文档 vi /usr/local/apache2/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>
命令验证

首先到网站根目录下touch 一个 jpeg类型的文件

[root@222222 www]# touch 1.png [root@222222 www]# curl -u yang:123456 -x127.0.0.1:80 www.1.com/1.png -I 账号密码是自己之前定义的。

image.png

浏览器内验证

打开虚拟主机 ,按f12 弹出的页面内点网络(network)然后刷新页面查看

image.png

image.png

防盗链

1、在相应虚拟主机下加入以下内容并保存重启apache
     SetEnvIfNoCase Referer “^$” local_ref
     SetEnvIfNoCase Referer "^http://www.1.com" local_ref
     SetEnvIfNoCase Referer "^http://a.com" local_ref
     <filesmatch "\.(mp3|mp4|zip|rar|jpg|gif|png)"> 
     Require all denied
     Require env local_ref
</filesmatch>
验证方法:复制网址上的某个图片的地址链接并在浏览器中访问验证,访问时刷新几下测试。

image.png

访问控制 (访问控制与用户认证冲突)

Require all granted #允许所有来源访问

Require all denied #拒绝所有来源访问

Require local #仅允许本地访问

Require ip 192.168.1.xxx 192.168.1.xxx #仅上述ip能够访问 每个ip空格隔开

Require host xxx.com #仅允许xxx.com域名主机访问

例如:

<Directory "D:/test/Apache2.4/Apache24/htdocs">
    Require all granted
    AllowOverride All
    Options Indexes FollowSymLinks
</Directory>

表示 D:/test/Apache2.4/Apache24/htdocs 文件夹下的文件能够被所有人访问。

<Directory "D:/test/Apache2.4/Apache24/htdocs/test">
    Require all denied
    AllowOverride All
    Options Indexes FollowSymLinks
</Directory>

表示 D:/test/Apache2.4/Apache24/htdocs 文件夹下的test文件不能够被任何人访问。

<Directory "D:/test/Apache2.4/Apache24/htdocs/test2"> (默认的,这段不用配置)
    Require local
    AllowOverride All
    Options Indexes FollowSymLinks
</Directory>

表示 D:/test/Apache2.4/Apache24/htdocs 文件夹下的test2文件仅能被本地访问。

伪静态

1、以Discuz为例,登入网页进入管理中心

image.png

2、然后按图片步骤选择提交

image.png

3、之后会发现刷页面报错

image.png

点下默认板块会报错

image.png

4、刷新页面报错然后在域名跳转配置中添加下面配置
  RewriteCond %{QUERY_STRING} ^(.*)$
  RewriteRule ^/topic-(.+)\.html$ /portal.php?mod=topic&topic=$1&%1
  RewriteCond %{QUERY_STRING} ^(.*)$
  RewriteRule ^/article-([0-9]+)-([0-9]+)\.html$ /portal.php?mod=view&aid=$1&page=$2&%1
  RewriteCond %{QUERY_STRING} ^(.*)$
  RewriteRule ^/forum-(\w+)-([0-9]+)\.html$ /forum.php?mod=forumdisplay&fid=$1&page=$2&%1
  RewriteCond %{QUERY_STRING} ^(.*)$
  RewriteRule ^/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1
  RewriteCond %{QUERY_STRING} ^(.*)$
  RewriteRule ^/group-([0-9]+)-([0-9]+)\.html$ /forum.php?mod=group&fid=$1&page=$2&%1
  RewriteCond %{QUERY_STRING} ^(.*)$
  RewriteRule ^/space-(username|uid)-(.+)\.html$ /home.php?mod=space&$1=$2&%1
  RewriteCond %{QUERY_STRING} ^(.*)$
  RewriteRule ^/blog-([0-9]+)-([0-9]+)\.html$ /home.php?mod=space&uid=$1&do=blog&id=$2&%1
  RewriteCond %{QUERY_STRING} ^(.*)$
  RewriteRule ^/archiver/(fid|tid)-([0-9]+)\.html$ /archiver/index.php?action=$1&value=$2&%1
  RewriteCond %{QUERY_STRING} ^(.*)$
  RewriteRule ^/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ /plugin.php?id=$1:$2&%1

image.png 然后保存重启

[root@222222 ~]# /usr/local/apache2/bin/apachectl restart

刷新页面即可

image.png